1.1 繼承:在定義乙個新類b時,如果該類與某個已有的類a相似(指的是b擁有a的全部特點),那麼就可以把a作為乙個基類,把b作為基類的乙個派生類(子類)。
1.2 派生:
2.1 格式:class 派生類名: public 基類名 ;
2.2 **例項:
class chuman
};class b:public a
};int main()
以上**輸出為:"i must say b"和「a」。5.1 不同型別成員的訪問許可權:
基類的private成員:可以被下列函式訪問
-基類的成員函式
-基類的友元函式
基類的public成員:可以被下列函式訪問
-基類的成員函式
-基類的友元函式
-派生類的成員函式
-派生類的友元函式
-其他函式
基類的protected成員:可以被下列函式訪問
-基類的成員函式
-基類的友元函式
-派生類的成員函式可以訪問當前物件的基類的保護成員
5.2 注:只能訪問當前物件的基類的保護成員
5.3 **例項:
class a;
class b:public a
};
6.1 建構函式的執行順序:在建立派生類的物件時,需要呼叫基類的建構函式,初始化派生類物件中從基類繼承的成員。在執行乙個派生類的建構函式之前,總是先執行基類的建構函式。
6.2 呼叫基類建構函式的兩種方式:
-顯式方式:在派生類的建構函式中,為基類的建構函式提供引數。
-隱式方式:在派生類的建構函式中,省略基類的建構函式時,派生類的建構函式則自動呼叫基類預設的建構函式。
6.3 **例項:
class bugs
}; class nobugs:public bugs
};
6.4 析構函式的執行順序:執行完派生類的析構函式後,自動呼叫基類的析構函式。
6.5 包含成員物件的派生類的建構函式的寫法:
class skill
};class flybug: public bug ;
flybug::flybug( int legs, int color, int wings):
bug(legs,color),sk1(5),sk2(color) ,nwings(wings)
6.6 小結:
在建立派生類的物件時
在派生類物件消亡時:
析構函式的呼叫順序與建構函式的呼叫順序相反。
class base ;
class derived : public base ;
base b;
derived d;
7.1 派生類物件可以賦值給基類物件:b = d;
7.2 派生類物件可以初始化基類引用:base & br = d;
base * pb = & d;
注:如果派生方式是private或protected,則上述三條不行。
7.4 protected繼承和private繼承:
7.5 基類與派生類的強制轉換:公有派生的情況下,派生類物件的指標可以直接賦值給基類指標。
base * ptrbase = &objderived;
ptrbase指向的是乙個derived類的物件;*ptrbase可以看作乙個base類的物件,訪問它的public成員直接通過ptrbase即可,但不能通過ptrbase訪問objderived物件中屬於derived類而不屬於base類的成員。
注:
base * ptrbase = &objderived;
derived *ptrderived = (derived * ) ptrbase;
8.1 定義:類a派生類b,類b派生類c,類c派生類d,那麼:
– 類a是類b的直接基類
– 類b是類c的直接基類,類a是類c的間接基類
– 類c是類d的直接基類,類a、b是類d的間接基類
8.2 宣告:在宣告派生類時,只需列出他的直接基類。派生類沿著類的層次自動向上繼承它的間接基類。
8.3 派生類的成員:
C 繼承和派生類
繼承和派生類 繼承性是物件導向程式設計中最重要的機制。這種機制提供了無限重複利用程式資源的一種途徑。通過c 語言中的繼承機制,可以擴充和完善舊的程式設計以適應新的需求。這樣不僅可以節省程式開發的時間和資源,並且為未來程式增添了新的資源。class student class studend1 利用原...
類的繼承和派生
格式 class 派生類名 繼承方式 基類名,繼承方式 基類名.繼承形式多種多樣 繼承會把基類的所有成員均繼承 1.graph lr a類 b a類 c graph lr a類 b類 b類 c類 graph lr a類 b類 b類 c類 a類 d類 d類 c類 繼承方式有 public,protec...
C 類的繼承和派生,訪問控制
c 中的繼承是物件導向的特點之一,其他兩個為封裝和多型。繼承是a is a b,而組合是a has a b.class a 派生類是具體的個性,積累是抽象的共性。乙個派生類有多個基類叫做多繼承,單個叫做單繼承。e.g.calss a public b 區別 域作用符 和 繼承 繼承 吸收 新增 改變...