class A
{
public:
int a1;
int a;
A()
{
a=1000;
}
A(int r)
{
a1=33333;
}
virtual int getdata()
{
return 100;
}
virtual int getD()
{
return 200;
}
};
class B
{
public:
int b;
B()
{
b=30000;
}
virtual int GetValue()
{
return 880;
}
};
class C:public A,public B
{
public :
int x,y;
C()
{
x=1111;
y=2222;
}
};
C c;
int d;
int d2;
int main()
{
C f1;
B b1;
A a1;
A *pc=new A(777777);
d=pc->getD();
d2=pc->getdata();
}
1:A a1;调用构造函数
3:虚拟函数放到a1的首地址,调用其他虚拟函数直接a1首地址+offset
B