77问答网
所有问题
当前搜索:
析构函数不能是虚函数
构造、
析构函数
可否为virtual
答:
构造函数不能声明为虚函数
,析构函数可以声明为虚函数,而且有时是必须声明为虚函数。不建议在构造函数和析构函数里面调用虚函数。构造函数不能声明为虚函数的原因是:解释一:所谓虚函数就是多态情况下只执行一个。而从继承的概念来讲,总是要先构造父类对象,然后才能是子类对象。如果构造函数设为虚函...
c++什么
是虚函数
,构造与
析构函数
可以是虚函数吗?
答:
1,
构造函数一定不要是虚函数
,2,一个类要被继承派生时,析构函数定义成虚函数是极佳选择。
基类的
析构函数不是虚函数
,会带来什么问题
答:
如果基类的
析构函数 不是虚函数
, 那么父类 指针 指向子类的时候, 删除分类指针的时候 子类不会被析构。 反之亦然
C++构造,
析构函数
可以
是虚函数
吗,是否可以被继承?
答:
构造函数不能为虚函数,析构函数则可以
,在C++中函数没有继承一说,继承指的是类继承,派生类的构造函数执行时需先构造基类的构造函数,而析构函数的执行顺序则刚好相反。
析构函数
为什么
是虚函数
?
答:
析构函数可以为虚函数,也可以不为虚函数
。(更多的时候不为虚函数)。设计析构函数为虚函数,主要是考虑到继承。析构函数(destructor) 与构造函数相反,当对象结束其生命周期,如对象所在的函数已调用完毕时,系统自动执行析构函数。析构函数往往用来做“清理善后” 的工作(例如在建立对象时用new开辟了...
C++构造,
析构函数
可以
是虚函数
吗,是否可以被继承?
答:
构造
函数不能为虚函数
,
析构函数
则可以,在C++中函数没有继承一说,继承指的是类继承,派生类的构造函数执行时需先构造基类的构造函数,而析构函数的执行顺序则刚好相反。
c++私有继承中的基类
析构函数
为何不需要声明
为虚函数
呢?
答:
析构函数
使用virtual的前提是,当一个指向基类的指针,实际指向派生类的实例,这时销毁这个基类指针,可以调用派生类的析构函数。但如果是私有派生,那就
不能
用指向基类的指针,来指着派生类的实例。换句话说,这个派生类必须用自己的名义销毁,所以不必将析构函数声明
为虚函数
。
c++什么
是虚函数
,构造与
析构函数
可以是虚函数吗?
答:
return 0;} 构造
函数不能是虚函数
,而析构函数在某些情况下必须为虚函数(比如你想让你类能够被继承,那么这个类的析构函数最好是虚的,继承一个
析构函数不是虚
的类是有风险的),值得补充的是,当基类的函数是虚函数,子类的重载的函数也是虚的,及时不加virtual关键字也是虚的。
c++中
析构函数
中可以调用
虚函数
么
答:
c++中
析构函数
中
不可以
调用
虚函数
。effective C++ 中有这样的描述:同样的原因也适用于析构过程。一旦派生类析构函数运行,这个对象的派生类数据成员就被视为未定义的值,所以 C++ 就将它们视为不再存在。C++中派生类在构造时会先调用基类的构造函数再调用派生类的构造函数,析构时则相反,先调用派生...
下列关于构造函数与
析构函数
的叙述中错误的是()。
答:
下列关于构造函数与析构函数的叙述中错误的是()。A.均无返回值 B.均不可定义
为虚函数
C.构造函数可以重载,而
析构函数不可
重载 D.构造函数可带参数,而析构函数不可带参数 正确答案:B
1
2
3
4
5
6
7
8
9
10
涓嬩竴椤
灏鹃〉
其他人还搜
析构函数为什么要弄成虚函数
析构函数可以定义为虚函数吗
构造函数不能为虚函数
析构函数可以声明为虚函数
内联函数不能是虚函数
析构函数可以是纯虚函数吗
虚函数可以是友元函数
虚函数可以是静态成员函数
运算符重载函数不能是虚函数吗