如果你的基类有一个虚拟析构函数,你自己的析构函数就会自动变成虚拟的
if your base class has a virtual destructor, your own destructor is automatically virtual
我知道标题的语句是正确的。
那么正则函数呢?
例如
class Father {
virtual void foo() {...;}
}
class Son : public Father {
void foo() {...;}
}
class GrandSon : public Son {
void foo() {...;}
}
孙子可以推翻儿子的foo吗?一般来说,如果你的基类有一个虚拟函数,那么派生类的相应函数就自动是虚拟的?这是真的吗?
C++2011:10.3虚拟函数
2:如果虚拟成员函数vf在类Base和类Derived中声明,直接或间接派生自Base,则声明具有与Base::vferived::vf也是虚拟的(无论是否如此声明)。。。
相关文章:
- 重载 -> shared_ptr 个实例中的箭头运算符<interface>,接口中没有纯虚拟析构函数
- 是否可以使用函数指针调用虚拟析构函数?
- 在没有动态内存的世界中,我是否需要虚拟析构函数?
- "虚拟""覆盖"析构函数
- 程序永远不会进入虚拟析构函数
- C++ std::vector 中的虚拟析构函数继承
- 哪种方法更适合处理虚拟析构函数?
- 拥有"受保护的非虚拟析构函数"与"受保护虚拟析构构函数"有什么好处
- 带有未解析外部元素的C++虚拟析构函数
- 即使基类和派生类只使用基元数据类型,我是否需要定义虚拟析构函数
- 从内部类的析构函数调用虚拟函数
- C++切片和虚拟析构函数
- C++虚拟继承、虚拟析构函数和 dynamic_cast<void*>
- 添加虚拟析构函数会使代码大小膨胀
- 应该是虚拟析构函数吗?但是怎么做呢?
- 虚拟析构函数将对象移出 rodata 部分
- 为什么虚拟类的析构函数不会自动添加到 vtable 中?
- 如何将 std::unique_ptr<Parent> 与具有受保护虚拟析构函数的只读父类一起使用
- DIRECTX9 中自定义顶点的虚拟析构函数
- 声明析构函数虚拟就足够了吗?