刚学继承,有点乱,该如何处理
刚学继承,有点乱C/C++ codeclass father{private:void FatherInfo(){cout父亲信息endl}}class son
刚学继承,有点乱
C/C++ codeclass 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正解,派生类中一定不能直接访问基类的私有成员,不管是什么继承类型。