C++进阶 --- 多继承中的虚表问题

多继承中的虚表问题

如下代码:

A类、B类都有虚函数,C类继承了A、B类,然后重写了A、B类的虚函数,且C类也有自己的虚函数

cpp 复制代码
class A
{
public:
    virtual void fA()
    {
        cout << "A::f()" << endl;
    }
};
class B
{
public:
    virtual void fB()
    {
        cout << "B::f()" << endl;
    }
};
class C :public B, public A
{
    void fA() {
        cout << "C::fA()" << endl;
    }
    void fB() {
        cout << "C::fB()" << endl;
    }
    virtual void fC() {
        cout << "C::fC()" << endl;
    }
    virtual void fD() {
        cout << "C::fD()" << endl;
    }
};
int main() {
    A a;
    B b;
    C c;
    cout << sizeof(c) << endl;  // 8 (32位下)
    return 0;
}

调试图:

相关推荐
鑫鑫向栄1 分钟前
[蓝桥杯]堆的计数
数据结构·c++·算法·蓝桥杯·动态规划
不惑_6 分钟前
用 PyQt5 打造一个可视化 JSON 数据解析工具
开发语言·qt·json
梓仁沐白11 分钟前
【Kotlin】注解&反射&扩展
开发语言·python·kotlin
@老蝴22 分钟前
C语言 — 编译和链接
c语言·开发语言
温宇飞30 分钟前
C++ 匿名命名空间 vs static
c++
本郡主是喵1 小时前
并发编程 - go版
java·服务器·开发语言
温宇飞1 小时前
C++ 泛型编程
c++
温宇飞1 小时前
C++ RTTI (运行时类型信息)
c++
长期向好的程序员1 小时前
VTK如何让部分单位不可见
c++
努力学习的小廉1 小时前
我爱学算法之—— 前缀和(中)
开发语言·redis·算法