#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。求指导虚继承内存具体如何分配?(与编译器无关的情况)
你问的这个问题刚好就是“与编译器有关的情况”,完全是编译器的实现细节。