本文介绍了访问派生类中的私有成员的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
嗨在以下代码中,为什么派生类可以在我是私有成员且私有成员不访问Derive的情况下访问基类i成员?class 基本{ int i; 受保护的: int read(){返回 i; } 无效 集合( int ii){i = ii; } 公共: Base(){i = 0 ; } int 值( int m){返回 m * i; } }; 类派生: public 基数{ int j; 公共: Derived(){j = 0 ; } 无效更改( int x){ set (X); cout<<读(); } }; int main(){ 派生d; d.change( 10 ); 返回 0 ; }
[edit]已对代码块进行排序-OriginalGriff [/edit]
解决方案
hiin the following code why derived class can access to Base class i member while i is private and private members doesn''t Derive ?
class Base { int i; protected: int read() { return i; } void set(int ii) { i = ii; } public: Base() { i=0; } int value(int m) { return m*i; } }; class Derived : public Base { int j; public: Derived() { j=0; } void change(int x) { set(x); cout << read(); } }; int main() { Derived d; d.change(10); return 0; }
[edit]Code block sorted - OriginalGriff[/edit]
解决方案
这篇关于访问派生类中的私有成员的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!