派生類訪問基類的私有成員

2022-03-27 12:25:53 字數 619 閱讀 5408

派生類不能直接訪問基類的私有成員,若要訪問必須使用基類的介面,即通過其成員函式。實現方法有如下兩種:

1.在基類的宣告中增加保護成員,將基類中提供給派生類訪問的私有成員定義為保護成員。

2.將需要訪問基類私有成員的派生類成員函式宣告為友元。

[cpp]

#include

using namespace std;

class base

; class derived1:base//private繼承 

*/ int gety()

}; class derived2:base//private繼承 

; int derived2::getx()

class derived3:public base//public繼承 

*/ int   gety()

}; int main()

{ int i;

derived2 ob;//沒有帶引數的建構函式或成員函式初始化x,建構函式賦個隨機值給x 

派生類成員的訪問屬性

討論訪問屬性時,需要考慮以下幾種情況 1 基類的成員函式訪問基類成員 2 派生類的成員函式訪問派生類自己增加的成員 3 基類的成員函式訪問派生類的成員 4 派生類的成員函式訪問派生類的成員 5 在派生類外訪問派生類的成員 6 在派生類外訪問基類的成員 對於 1 和 2 的情況,即基類的成員函式訪問基...

C 中派生類基類成員變數成員函式的訪問

首先搞明白一點 類裡面對成員的訪問處理屬於 內部訪問 通過類的例項化物件在訪問其成員屬於 外部訪問 派生類對基類成員的訪問主要有兩種,一種是派生類的新增成員對繼承的基類成員的訪問 內部 另一種是派生類的物件對繼承的基類成員的訪問 外部 1 public型別 可以在外部訪問,也可以在子類中訪問 dem...

基類和派生類

include include using namespace std class animal class dog public animal class dog public animal這裡的 就是繼承或派生,class cat public animal class item base st...