|
|
1
2
因此因为
如果既不
如果一个类
实际上,即使在未定义的情况下(仅
|
|
|
2
1
是的。它有一个带有虚拟析构函数的基,因此C的析构函数是隐式虚拟的。析构函数是否显式声明为虚函数是无关的。D的析构函数也是如此。
只要C的析构函数是虚拟的,就没有问题。如果C的析构函数不是虚拟的,那么通过指向C的指针删除一个Dervied对象将具有未定义的行为。 |
|
|
3
0
据我所知,析构函数链接与虚拟析构函数无关。只要调用某个类的析构函数,它就会自动为您调用基类描述符。 当您通过基类指针删除一个派生类实例时,描述器的虚拟特性就会显现出来。
在上面的示例中,假设
但是,假设您已经在基类中将析构函数声明为虚拟的(
|
|
|
Silverspur · “X是Y的模糊基”:多重继承噩梦 9 年前 |
|
|
Aedoro · 扩展多个类的C++函数参数 9 年前 |
|
|
user6022430 · Python3.4多重继承调用特定构造函数 10 年前 |
|
|
Mark van der Wilk · 用于重写继承方法的Mixin 10 年前 |
|
pasha · 是否可以为复制基的虚拟函数提供不同的定义? 10 年前 |
|
|
Daniel · 如何使继承从父类到子类python34起作用 10 年前 |