关于C++虚拟继承的问题请教



 #include <iostream>
using namespace std; 
class A{ 
public: 
     virtual void f1(){}; 
}; 
class B: public virtual A{ 
     virtual void f2(){}; 
}; 
int main(){ 
     cout << sizeof(A) << endl; 
     cout << sizeof(B) << endl; 
}

这个程序在32位机器上,打印的是4和12。g++下面后两个打印是8和8。没有用c++11。求指导虚继承内存具体如何分配?(与编译器无关的情况)

编程 继承 C++ 虚继承 内存分配

Black喵 9 years, 8 months ago
花泽☆香菜 answered 9 years, 8 months ago

你问的这个问题刚好就是“与编译器有关的情况”,完全是编译器的实现细节。

Amore猫猫 answered 9 years, 8 months ago

Your Answer