请看下面C++程序

来源:百度知道 编辑:UC知道 时间:2024/05/16 07:05:13
# include <iostream.h>

class A
{
public:
int a;
void f()
{
cout<<"Memember of A"<<endl;
}
};

class B1:virtual public A
{
public:
int b1;
};

class B2 : virtual public A
{
public:
int b2;
};

class C :public B1,public B2
{
public:
int c;
void f()
{
cout<<"Member of C"<<endl;
}
};
void main()
{
C obj;
obj.a=2;
obj.f();
}
为什么书上两次出现都是得到Memember of A而我的机子上运行的是Member of C?
这是从书上直接抄的。。。

# include <iostream.h>

class A
{
public:
int a;
void f()
{
cout<<"Memember of A"<<endl;
}
};

class B1:virtual public A
{
public:
int b1;
};

class B2 : virtual public A
{
public:
int b2;
};

class C :public B1,public B2
{
public:
int c;
void f()
{
cout<<"Member of C"<<endl;
}
};
void main()
{
A obj; //改成这样就得了
obj.a=2;
obj.f();
}

你这个运行的就是Member of C啊。。
你把书上的要求发一下啊