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

有关C++类的一个有关问题

2012-02-19 
有关C++类的一个问题#includeiostreamusingnamespacestdclassA{public:voidf(){cout A::f()

有关C++类的一个问题
#   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;
}

不知上面我的理解对不对,
麻烦哪个会懂的解释下啊。谢谢了。


[解决办法]
那你就c.A::f()编译运行试一下嘛。
[解决办法]
可以的,但能不能绕个弯,再用上B呢?C是继承B来的啊。

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

[解决办法]
c.A::f()
vc通过
[解决办法]
可以。。。
[解决办法]
to taodm

是吗?我在VC6下编译的,没试dev...
[解决办法]
直接使用c.A::f();

VC6.0下面编译通过,运行一切正常
[解决办法]
又是VC6,真够浪费生命的。

嘛意思啊?vc我一直觉得没必要学,但你的这种领悟境界我还是没达到
[解决办法]
devc++下全部没问题啊
[解决办法]
不能用c.B::A::f()
因为A不是B的成员

热点排行