相关疑难解决方法(0)

多个虚拟继承中的虚拟表和内存布局

考虑以下层次结构

struct A {
   int a; 
   A() { f(0); }
   A(int i) { f(i); }
   virtual void f(int i) { cout << i; }
};
struct B1 : virtual A {
   int b1;
   B1(int i) : A(i) { f(i); }
   virtual void f(int i) { cout << i+10; }
};
struct B2 : virtual A {
   int b2;
   B2(int i) : A(i) { f(i); }
   virtual void f(int i) { cout << i+20; }
};
struct C : B1, virtual …
Run Code Online (Sandbox Code Playgroud)

c++ multiple-inheritance virtual-inheritance vtable memory-layout

13
推荐指数
1
解决办法
6733
查看次数