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

刚学继承,有点乱,该如何处理

2012-02-07 
刚学继承,有点乱C/C++ codeclass father{private:void FatherInfo(){cout父亲信息endl}}class son

刚学继承,有点乱

C/C++ code
class father{private:void FatherInfo(){cout<<"父亲信息"<<endl;}};class son:public father{public:void shellDad(){FatherInfo();}}int main(){son mc;mc.shellDad();}


<C++ primer 第4版>书上是这么说的:“private只能由基类的成员或友元访问” 于是我写了个例子:用子类成员函数访问。结果能访问,这是怎么回事?这不是和书上的矛盾吗?求解....

[解决办法]
敢问楼主编译器。 VS2005 08 10 通不过。
[解决办法]
“private只能由基类的成员或友元访问”这是对的啊!
son mc;
mc.shellDad();
你定义了一个子类的对象, 用子类的对象去调用子类的公有函数,看起来没问题,但是子类的函数调用了父类的私有函数,由于“private只能由基类的成员或友元访问”这就是问题所在。
[解决办法]
我也想知道是什么编译器啊
[解决办法]
2L正解,派生类中一定不能直接访问基类的私有成员,不管是什么继承类型。

热点排行