早教吧作业答案频道 -->其他-->
对于虚析构函数与一般虚函数,以下说法正确的是A、重定义函数就是派生类的构造函数B、重定义函数就是派生类的析构函数,要求同名C、一个虚析构函数的版本被调用执行后,接着就要执行其
题目详情
对于虚析构函数与一般虚函数,以下说法正确的是
A、重定义函数就是派生类的构造函数
B、重定义函数就是派生类的析构函数,要求同名
C、一个虚析构函数的版本被调用执行后,接着就要执行其基类版本
D、基类和派生类都分别给出了一个虚函数的不同版本
A、重定义函数就是派生类的构造函数
B、重定义函数就是派生类的析构函数,要求同名
C、一个虚析构函数的版本被调用执行后,接着就要执行其基类版本
D、基类和派生类都分别给出了一个虚函数的不同版本
▼优质解答
答案和解析
重定义函数好比是单独的在基类和派生类中各自定义了一个方法,相互之间没有联系.
如:fun()函数在A类和B类中都有,A是基类,B从A派生来的.那么派生类的对象交给他的父类的指针时,指针调用只能调用到父类的函数.
A a;
B b;
A *c= new B;
a.fun 调用A类的fun,b.fun调用B类的fun,c->fun 调用A类的fun
构造函数是没有虚不虚这一说的.
析构函数被申明为虚,是为了解决基类的指针指向派生类对象,并用基类的指针删除派生类对象.虚析构函数工作的方式是:最底层的派生类的析构函数最先被调用,然后各个基类的析构函数被调用.
虚函数的作用是实现动态联编,也就是在程序的运行阶段动态地选择合适的成员函数,在定义了虚函数后,可以在基类的派生类中对虚函数重新定义,在派生类中重新定义的函数应与虚函数具有相同的形参个数和形参类型.以实现统一的接口,不同定义过程.如果在派生类中没有对虚函数重新定义,则它继承其基类的虚函数.
我觉得答案应该是 C
如:fun()函数在A类和B类中都有,A是基类,B从A派生来的.那么派生类的对象交给他的父类的指针时,指针调用只能调用到父类的函数.
A a;
B b;
A *c= new B;
a.fun 调用A类的fun,b.fun调用B类的fun,c->fun 调用A类的fun
构造函数是没有虚不虚这一说的.
析构函数被申明为虚,是为了解决基类的指针指向派生类对象,并用基类的指针删除派生类对象.虚析构函数工作的方式是:最底层的派生类的析构函数最先被调用,然后各个基类的析构函数被调用.
虚函数的作用是实现动态联编,也就是在程序的运行阶段动态地选择合适的成员函数,在定义了虚函数后,可以在基类的派生类中对虚函数重新定义,在派生类中重新定义的函数应与虚函数具有相同的形参个数和形参类型.以实现统一的接口,不同定义过程.如果在派生类中没有对虚函数重新定义,则它继承其基类的虚函数.
我觉得答案应该是 C
看了 对于虚析构函数与一般虚函数,...的网友还看了以下:
下列设计模式中,( )模式既是类结构型樽式,又是对象结构型模式。此模式与( )模式类似的特征是,都给 2020-05-26 …
JAVA的作业,求大神啊~构造一个立方体类,类的构成包括如下内容:(1)成员变量为长、宽、高;(2 2020-06-08 …
分析构造函数和析构函数调用次序(1)类A是类B的基类,类B是类D的基类,类C是类B的对象成员,若定 2020-06-11 …
3.以下关于构造函数的描述错误的是()。A、构造函数的返回类型只能是void3.以下关于构造函数的 2020-06-27 …
以下关于构造函数的描述错误的是()A、构造函数的返回以下关于构造函数的描述错误的是()A、构造函数 2020-06-27 …
c++中对于拷贝构造函数和赋值操作的关系,正确的描述是()。A、拷贝构造函数和赋值操作是完全一样的 2020-07-10 …
6道C++选择题目1)以下有关构造函数的叙述不正确的是().A.构造函数名必须和类名一致B.构造函 2020-07-12 …
请看一下下面的Java关于子类父类的构造函数问题,谢谢!23.下面是有关子类继承父类构造函数的描述 2020-07-17 …
java问题:每一项都详细解释下1.下列关于Java中类的构造方法的描述,正确的是(B)A.构造方 2020-07-17 …
下面对C#中类的构造函数描述正确的是()。A.与方法不同的是,构造函数只有void这一种返回类型B. 2020-11-16 …