- 0
- 0
- 约3.83千字
- 约 6页
- 2026-01-26 发布于北京
- 举报
1、构造函数能否是虚函数?
多态:根据对象的动态类型来选择要调用的方法。而在构造函数之前,对象甚至
都不存在。
构造函数不能是虚函数,在创建一个对象的时候,构造函数需要的是它要创建的
对象的准确的类型,所以不能是虚函数。除此之外,构造函数并不是一般的函数,它跟
内存管理的交互方式不同于一般的成员函数,所以不能用指针指向构造函数。
vtable是在构造函数中才初始化的,找不到vtable就不可能调用。
析构函数可以是虚函数,而且常常如此,由于通常通过基类的指针来销毁对象,
如果析构函数不为虚的话,就不能正确识别对象类型,从而不能正确销毁对象。
解释:在类的继承中,如果有
原创力文档

文档评论(0)