类的成员函数可以访问属于该类的任意对象的私有变量
生活随笔
收集整理的這篇文章主要介紹了
类的成员函数可以访问属于该类的任意对象的私有变量
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
之前在書上看到成員函數(shù)可以訪問類的私有變量的時候覺得是廢話嘛,如果成員函數(shù)都不能訪問那私有變量不就變成了花瓶了。然而發(fā)現(xiàn)自己還是太naive。
這句話的意思是:在類的作用域內(nèi),包含成員函數(shù)、靜態(tài)成員函數(shù)和友元函數(shù)內(nèi),可以訪問類對象的私有變量。
特殊的,對于成員函數(shù)來講,如果參數(shù)中有屬于同一個類的其他對象,那么我們還可以訪問其他對象的私有變量,而不僅僅是自己的。
可以這樣理解,在類的作用域內(nèi)部,沒有所謂的權(quán)限控制,只有在外部才區(qū)分私有、保護和公有。
例如:
class A{int x = 1; public:void test(A rhs); };void A::test(A rhs) {cout << x + rhs.x << endl; }int main() {ios::sync_with_stdio(false);A a, b;a.test(b);return 0; }上面代碼中,a的函數(shù)test中訪問了b的私有變量x,這是完全沒有問題的。
總結(jié)
以上是生活随笔為你收集整理的类的成员函数可以访问属于该类的任意对象的私有变量的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 8k纸和4k纸一样大吗?
- 下一篇: GMP使用入门