C++學習筆記——繼承相關問題

一、
1、聲明一個派生類對象,構造函數的執行順序是:限制性基類的構造函數(體),在執行本類的構造函數(體)
2、回收一個派生類對象,析構函數的執行順序:先執行本類的析構函數(對本類特有成員相關堆空間進行釋放),再執行基類的析構函數。

二、

將子類對象當父類對象的情況:將子類對象賦值給父類對象,父類引用指向子類對象,父類指針指向子類對象

向下轉型
將父類的指針或者引用轉爲子類的指針或者引用。目的是爲了(通過父類指針或者引用)訪問子類的成員。
向下轉型的前提:父類指針或者引用“指向”的對象爲子類的對象。(鄉下轉型是危險的)。

    Circle c(1,2,3);
    Point *p = &c;
    p->dis();

    Circle *c1 = (Circle*)p;
    c1->dis();

通過“指向”子類對象的父類指針或者引用訪問子類的成員:向下轉型(強轉,危險)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章