C++面试题:构造函数与虚函数特性及多重继承问题探讨.pdfVIP

  • 0
  • 0
  • 约3.83千字
  • 约 6页
  • 2026-01-26 发布于北京
  • 举报

C++面试题:构造函数与虚函数特性及多重继承问题探讨.pdf

1、构造函数能否是虚函数?

多态:根据对象的动态类型来选择要调用的方法。而在构造函数之前,对象甚至

都不存在。

构造函数不能是虚函数,在创建一个对象的时候,构造函数需要的是它要创建的

对象的准确的类型,所以不能是虚函数。除此之外,构造函数并不是一般的函数,它跟

内存管理的交互方式不同于一般的成员函数,所以不能用指针指向构造函数。

vtable是在构造函数中才初始化的,找不到vtable就不可能调用。

析构函数可以是虚函数,而且常常如此,由于通常通过基类的指针来销毁对象,

如果析构函数不为虚的话,就不能正确识别对象类型,从而不能正确销毁对象。

解释:在类的继承中,如果有

文档评论(0)

1亿VIP精品文档

相关文档