构造函数不可以是虚函数; C. 析构函数不可以是虚函数; D. 内联函数不可以是虚函数; E. 注:静态成员函数不能是虚函数;内联函数不能是虚函数; F. 构造函数不能是虚函数;析构函数可以是虚函数,且通常声明为虚函数。 G. 填空题 相关知识点:
百度试题 结果1 题目关于虚函数,正确的描述是( ) A. 构造函数不能是虚函数 B. 析构函数不能是虚函数 C. 虚函数可以是友元函数 D. 虚函数可以是静态成员函数 相关知识点: 试题来源: 解析 A.构造函数不能是虚函数 反馈 收藏
下列关于虚函数的描述,错误的是( )。 A. 构造函数可以是虚函数 B. 析构函数可以是虚函数 C. 虚函数必须通过引用或基类的指针实现 D. 虚函数的函数名必须与
每一个类必须有一个析构函数,用户可以自定义析构函数,也可以是编译器自动生成默认的析构函数。一般析构函数定义为类的公有成员。 88.构造函数和析构函数可以调用虚函数吗,为什么? 1)在C++中,提倡不在构造函数和析构函数中调用虚函数;2)构造函数和析构函数调用虚函数时都不使用动态联编,如果在构造函数或析构...
构造函数不可以为虚函数,析构函数不可以为虚函数 答案 B正确答案:B解析:构造函数不可以为虚函数,但可以调用虚函数;析构函数可以为虚函数。相关推荐 1下列描述中正确的是( )。 A. 构造函数可以为虚函数,析构函数不可以为虚函数 B. 构造函数不可以为虚函数,析构函数可以为虚函数 C. 构造函数可以为虚函数,析...
(3) new 可以调用对象的构造函数,对应的 delete 调用相应的析构函数。 (4) malloc 仅仅分配内存,free 仅仅回收内存,并不执行构造和析构函数 (5) new、delete 返回的是某种数据类型指针,malloc、free 返回的是 void 指针。 注意:malloc 申请的内存空间要用 free 释放,而 new 申请的内存空间要用 delete 释放,...
构造函数不可以是虚函数的,这个很显然,毕竟虚函数都对应一个虚函数表,虚函数表是存在对象内存空间的,如果构造函数是虚的,就需要一个虚函数表来调用,但是类还没实例化没有内存空间就没有虚函数表,这根本就是个死循环。 可是析构函数却要定义成虚函数,这是为什么呢?
首先析构函数可以为虚函数,当析构一个指向派生类的基类指针时,最好将基类的析构函数声明为虚函数,否则可以存在内存泄露的问题。 如果析构函数不被声明成虚函数,则编译器实施静态绑定,在删除指向派生类的基类指针时,只会调用基类的析构函数而不调用派生类析构函数,这样就会造成派生类对象析构不完全。
答案:A 纯虚函数不能有函数定义体。 本题考察对虚函数的特性和使用方法的理解。我们需要了解虚函数的定义和使用规则,以及各种类型函数是否能够是虚函数。纯虚函数是指在基类中声明但没有实现的虚函数,构造函数和析构函数是特殊的成员函数,需要了解它们是否可以是虚函数。还有需要了解虚函数的访问权限。反馈...
在main函数中new出来的是子类son的对象,采用一个父类father的指针来接收,故在析构的时候,编译器因为只知道这个指针是父类的,所以只将父类部分的内存析构了,而不会去析构子类的内存,就造成了内存泄露,那么如何避免这种情况的产生呢? 将父类的析构函数改为虚函数,就可以避免这种情况。