C++友元類:
正常情況下,一個類是訪問不到另一個類的私有成員的。就像下面這個:
#includeclass A{ private: int a; public: A(){ a = 1; } }; class B:public A{ public: B(){ std::cout << a << std::endl; } }; int main() { B p; p(); return 0; }
而這時,我們就要用到友員類的概念了。
#includeclass A{ friend class B;//指定B為A的友元類。 private: int a; public: A(){ a = 1; } }; class B:public A{ public: B(){ std::cout << a << std::endl; } }; int main() { B p; return 0; }
#includeclass A{ friend class B;//指定B為A的友元類。 private: int a; public: A(){ a = 1; } }; class B{ public: B(){ A a; std::cout << a.a << std::endl; } }; int main() { B p; return 0; }
然而實際上,在開發過程中,程序員是很少使用到友元類的,因為它使兩個類直接的關系太過緊密。
PS:初學C++,有什麼不對的地方,一定要告訴我呀_(:з」∠)_。我好糾正學習,也不會誤導人家。。