虚函数与构造函数,析构函数的关系

构造函数不能为虚函数,而析构函数可以为虚函数;

若析构函数为虚函数  :  那么当使用delete释放基类指针指向的派生类对象时,先调用派生类的析构函数,在调用基类的析构函数;

                         一般时:基类对象指向派生类队形时,释放时不调用派生类的析构函数;

纯虚函数:在析构函数和构造函数中调用虚函数使用静态编译,因此,在这两个函数中不能调用纯虚函数。但其他函数可以调用纯虚函数。

析构函数不能重载(无参数,无返回值);

构造函数可以重载(无返回值);

1.  下列选项中正确的是
A)构造函数可以重载, 析构函数不能重载    B)构造函数不能重载,析构函数可以重载
C)构造函数可以重载,析构函数也可以重载   D)构造函数不能重载,析构函数也不能重载
2.类的析构函数的作用是
      A)   一般成员函数  B)类的初始化 C)对象的初始化  D)删除对象
3. 对友元函数的正确描述是
A) 友元函数的实现必须在类的内部定义          B)友元函数是类的成员函数
C) 友元函数拨坏了破坏了类的封装性和隐藏性     D)友元函数不能访问类的私有成员
4. 在C++中,数据封装要解决的问题是
A)数据的规范化      B)便于数据转换     C) 避免数据丢失   D)防止不同模块之间数据的访问
5. 对结构体中定义的成员,默认的访问权限为
A)public  B) protected   C)  private  D) static

6. 类型转换函数的作用是————————     
7.赋值重载函数与赋值构造函数应用中的区别是———————
8 C++中局部变量和全局变量重名时,欲访问全局变量,应该——————————
9  下列程序运行时会出现严重错误,为什么?#include<string.h>
        void  main( )
               {char* p,* q;
                 p=new  char[10];
                 q=new  char[10];
                 strcpy(p,"ABCD");
                 q=p;  delete []p; delete []q;  }
10类中的保护段数据与共有段数据的主要区别是什么?

10. C++建立类族的实现是通过     [  ]
A) 类的嵌套  B)虚函数  C)类的继承  D) 抽象类
11. 不能被派生类继承的有   [  ]
构造函数 B) 虚函数   C) 静态成员函数   D) 赋值操作函数
1. 纯虚函数是                                                   
A)  virtual int vf(int);      B) void vf(int)=0;
C)  virtual void vf()=0;       D)  virtual void vf(int){}
2.设置虚基类的目的是                                              
A)简化程序                     B)消除二义性
C)提高运行效率                 D)减少目标代码
3.设置虚函数的目的是实现动态编联,用关键字           标识虚函数。
4.类的派生有主要有三种方式,分别用描述符public, protected 和    表示。






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值