有关C++类的一个问题

haozlee 2007-06-25 12:14:18
# include <iostream>
using namespace std;

class A
{
public:
void f()
{
cout<<"A::f()"<<endl;
}
};

class B:public A
{
public:
void f()
{
cout<<"B::f()"<<endl;
}
};

class C:public B
{
public:
void f()
{
cout<<"C::f()"<<endl;
}
};

int main()
{
B b;
b.f();
b.A::f();

cout<<"***************************"<<endl;

C c;
c.f(); //这里引用的是类C中的f();

c.B::f(); //这里引用的是类B中的f();

//其实B继承A时,包含了A中的f(),C继承了B,当然也包含A中的f(),
//那么,我能不能用类似c.B::f();这种方式来引用c中的A::f()呢?

return 0;
}

不知上面我的理解对不对,
麻烦哪个会懂的解释下啊。谢谢了。
...全文
258 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
xlbdan 2007-06-26
  • 打赏
  • 举报
回复
如果珍惜生命的话,就不会有空在这里成天告诉别人"别浪费生命"之类的话.

我也相信你想表达的是好意,但说话的语气要注意
taodm 2007-06-26
  • 打赏
  • 举报
回复
VC6我也装啊,BC31我还经常用呢。不过我不会用它们来讨论C++问题,生命不该这么被浪费的。
taodm 2007-06-25
  • 打赏
  • 举报
回复
那你就加呀c.B::A::f()试一下嘛。
haozlee 2007-06-25
  • 打赏
  • 举报
回复
可以的,但能不能绕个弯,再用上B呢?C是继承B来的啊。
taodm 2007-06-25
  • 打赏
  • 举报
回复
那你就c.A::f()编译运行试一下嘛。
xlbdan 2007-06-25
  • 打赏
  • 举报
回复
又是VC6,真够浪费生命的。

to taodm


收起你的这句说了无数遍的话吧,你知道我为什么用VC6吗?不知道就别胡说
haozlee 2007-06-25
  • 打赏
  • 举报
回复
果然是编译器的问题。
其实我就是想用c.B::A::f()来实现的,可是VC6却不能通过。想也想不通。所以就上来问了。
现在明白了。
以后还是得用多个编译器试下。

结贴。
ligang19840226 2007-06-25
  • 打赏
  • 举报
回复
不能用c.B::A::f()
因为A不是B的成员
哼哈荷叶 2007-06-25
  • 打赏
  • 举报
回复
devc++下全部没问题啊
哼哈荷叶 2007-06-25
  • 打赏
  • 举报
回复
又是VC6,真够浪费生命的。

嘛意思啊?vc我一直觉得没必要学,但你的这种领悟境界我还是没达到
freeman868 2007-06-25
  • 打赏
  • 举报
回复
直接使用c.A::f();

VC6.0下面编译通过,运行一切正常
taodm 2007-06-25
  • 打赏
  • 举报
回复
又是VC6,真够浪费生命的。
xlbdan 2007-06-25
  • 打赏
  • 举报
回复
to taodm

是吗?我在VC6下编译的,没试dev...
jixingzhong 2007-06-25
  • 打赏
  • 举报
回复
可以。。。
kason54321 2007-06-25
  • 打赏
  • 举报
回复
c.A::f()
vc通过
taodm 2007-06-25
  • 打赏
  • 举报
回复
楼上用哪个编译器试过?devcpp下很正常啊。
xlbdan 2007-06-25
  • 打赏
  • 举报
回复
可以的,但能不能绕个弯,再用上B呢?C是继承B来的啊。

不能这样:c.B::A::f()
因为A并不是B的成员,虽然f是.

64,646

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧