觀察下邊一段**:
class a
int i;
protected:
void f2(){}
int j;
private:
int k;
};class b:public a
protected:
int m;
private:
int n;
};class c:public b
private:
int p;
};
全是公用繼承,思考這樣幾個問題:
1.在main函式中能否用b1.i,b1.j和b1.k引用派生類b物件b1中基類a的成員
2.派生類b中成員函式能否呼叫基類中的成員函式f1和f2.
3.派生類b中成員函式能否呼叫基類中的資料成員i,j,k.
4.能否在main函式中用c1.i,c1.j,c1.k,c1.m.cl.n,c1.p引用基類a的成員i,j,k,派生類b的成員m,n以及派生類c的成員p
5.能否在main函式中用c1.f1(),c1.f2(),c1.f3()和c1.f4()呼叫f1,f2,f3,f4c成員函式.
6.派生類c的成員函式f4能否呼叫基類a中的成員函式f1,f2和派生類中的成員函式f3.
答案在**中,思考幾分鐘再看.
#includeusing namespace std;
class a //空函式得寫括號
int i;
protected:
void f2(){}//空函式得寫括號
int j;
private:
int k;
};class b:public a
protected:
int m;
private:
int n;
};class c:public b
private:
int p;
};int main()
C 繼承與派生
派生新類 吸收已有類的成員 調整已有類成員和新增新的成員 class 派生類名 繼承方式 基類名1,繼承方式 基類名2,派生類成員宣告 繼承方式有 public protected private 預設 公有繼承 基類的公有和保護乘員的訪問屬性在派生類中不變,基類的私有成員不能直接訪問 型別相容規則...
c 繼承與派生
繼承 與派生 一 派生方式的不同的表現 1 派生類在類內成員對基類成員 的訪問許可權 2 派生類的物件對基類成員的訪問許可權。二 公有繼承 1 基類protected和public的成員在派生類中訪問屬性保持不變 2 基類的private成員在派生類中不可訪問。3 派生類的成員 即派生類內 可以直接...
c 繼承與派生
一 基本概念 1 類的繼承,是新的類從已有類那裡得到已有的特性。或從已有類產生新類的過程就是類的派生。原有的類稱為基類或父類,產生的新類稱為派生類或子類。2 派生類的宣告 class 派生類名 繼承方式 基類名1,繼承方式 基類名2,繼承方式 基類名n 3 乙個派生類可以同時有多個基類,這種情況稱為...