首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

vc6.0关于多继承下调用基类成员有关问题

2012-04-08 
vc6.0关于多继承下调用基类成员问题#include stdafx.hclass A{public:virtual void pin()0int x }cl

vc6.0关于多继承下调用基类成员问题
#include "stdafx.h"
class A
{
public:
virtual void pin()=0;
int x ;
};
class B :virtual public A
{
void pin()
{
printf("BBBB");
}
};
class C:virtual public A
{
void pin()
{
printf("ccccc");
}
};
class D: public C,public B
{
void pin()
{
printf("ddd");
}
};
int main(int argc, char* argv[])
{
B b;
b.x = 1;
C c;
c.x = 2;
D d;
d.A::pin();// 问题1:这里会出错。为什么?问题2:能不能通过类D调用类B中的pin()方法。如果行。怎样调用
A *a;
return 0;
}

我是菜鸟,希望各位大侠多多帮助。也给同样问题的菜鸟们做个参考。

[解决办法]

探讨
现在的问题是,可不可以直接用d.pin()而输出的结果却是BBB

[解决办法]
建议看看C++primer 上关于scope章节的介绍

热点排行