C 三種繼承方式

2022-03-18 03:32:59 字數 933 閱讀 3681

一、三種繼承方式

繼承方式不同,第乙個不同是的是派生類繼承基類後,各成員屬性發生變化。第二個不同是派生類的物件能訪問基類中哪些成員發生變化。**中紅色標註。

1 #include 2

using

namespace

std;34

classa5

;1314class b:publica15

;1819int

main()

20

1、只有當b,public繼承a的時候,才能b.k=1。因為只有當public繼承的時候,派生類的物件才能訪問基類中的public成員。如果private、protected繼承,基類中的k屬性會變成private、protected,無法被派生類的物件訪問。

2、當b,public繼承a的時候,b.i=1和b.j=1是錯誤的,因為派生類的物件只能訪問基類中的public成員。

二、儲存空間

class b:private a

class b:protected a

class b:public a

都輸出24。

三、《c++程式設計實習》摘錄

這裡,son f;f.nprotected=1;我在vs2012下測試通過,protected成員只是不能被其他函式訪問。打個問號。

四、練習題

下面描述中,表達正確的有()

a公有繼承是基類中的public成員在派生類中仍是public的

b公有繼承是基類中的private成員在派生類中仍是private的

c公有繼承是基類中的protected成員在派生類中仍是protected的

d私有繼承是基類中的public成員在派生類中仍是private的

答案是acd

b錯誤是因為基類中的private成員在派生類中是不可被訪問的,所以也就談不上是private的。

C 三種繼承方式

公有繼承 public 私有繼承 private 保護繼承 protected 是常用的三種繼承方式。1.公有繼承 public 2.私有繼承 private 私有繼承的特點是基類的公有成員和保護成員都作為派生類的私有成員,並且不能被這個派生類的子類所訪問。3.保護繼承 protected 保護繼承...

C 三種繼承方式

繼承是使 可以復用的重要手段,也是物件導向程式設計的核心思想之一。簡單的說,繼承是指乙個物件直接使用另一物件的屬性和方法。繼承呈現了 物件導向程式設 計的層次結構,體現了 由簡單到複雜的認知過程。c 中的繼承關係就好比現實生活中的父子關係,繼承一筆財產比白手起家要容易得多,原始類稱為基類,繼承類稱為...

C 三種繼承方式

一 公有繼承 public 基類成員對派生類的可見性為 基類的公有成員和保護成員可見,基類的私有成員不可見。基類成員對派生類物件的可見性為 基類的公有成員可見,保護成員和私有成員不可見,即通過派生類的物件只能訪問基類的public成員。所以,在公有繼承時,派生類的物件可以直接訪問基類中的公有成員,派...