#include <iostream>
using namespace std;
class Base
{
public:
int a; //有这句话和没有这句话运行结果差距很大
Base(){cout<<"Base-ctor"<<endl;}
~Base(){cout<<"Base-dtor"<<endl;}
virtual void f(int) {cout<<"Base::f(int)"<<endl;}
virtual void f(double){cout<<"Base::f(double)"<<endl;}
};
class Derived:virtual public Base
{
public:
Derived(){cout<<"Derived-ctor"<<endl;}
virtual void g(int){cout<<"Derived::g(int)"<<endl;}
};
int main(){
cout<<sizeof(Base)<<endl;
cout<<sizeof(Derived)<<endl;
}
不知道为什么有int和没用int完全不一样,没有int结果是8 8,有int是16 24,差距已经不是一个int的问题了