基類的建構函式和析構函式不能被繼承,在派生類中,如果對派生類新增的成員進行初始化,需要加入派生類的建構函式
下面定義了乙個基類 base_class1 和乙個派生類 deived_class
#pragma once
#include using namespace std;
//基類,包括乙個public成員price,乙個protected成員discount
class base_class1
~base_class1() = default;
double show_price()
double price = 0;
protected:
double discount = 1;
};//派生類
class deived_class :public base_class1
;//派生類的構造需要用到基類的建構函式
void over_discount(double discount_)
void output()//顯示派生類的值
};
那麼建立派生類程式 如下:
base_class1 base(90.0);
cout << base.show_price() << endl;
deived_class deived(80.0);
deived.output();
deived.over_discount(0.8);
deived.output();
cout << base.show_price() << endl;// 輸出基類的price, 等於**乘以折扣
執行結果如下:
90 //基類的price
1 //派生類的
800.8
8090 //基類的discount並未被改變
使用之前加上基類名和作用域識別符號「::」**
class x
;class y:public x
;void y::g()
//派生類物件訪問時
y obj;
obj.f();
obj.x::f();//要訪問基類中的f()
C 基類和派生類
本講討論基類和派生類的基本概念。通過繼承機制,可以利用已有的資料型別來定義新的資料型別。所定義的新的資料型別不僅擁有新定義的成員,而且還同時擁有舊的成員。我們稱已存在的用來派生新類的類為基類,又稱為父類。由已存在的類派生出的新類稱為派生類,又稱為子類。在c 語言中,乙個派生類可以從乙個基類派生,也可...
C 基類和派生類
本講討論基類和派生類的基本概念。通過繼承機制,可以利用已有的資料型別來定義新的資料型別。所定義的新的資料型別不僅擁有新定義的成員,而且還同時擁有舊的成員。我們稱已存在的用來派生新類的類為基類,又稱為父類。由已存在的類派生出的新類稱為派生類,又稱為子類。在 c 語言中,乙個派生類可以從乙個基類派生,也...
C 基類和派生類
通過繼承機制,可以利用已有的資料型別來定義新的資料型別。所定義的新的資料型別不僅擁有新定義的成員,而且還同時擁有舊的成員。我們稱已存在的用來派生新類的類為基類,又稱為父類。由已存在的類派生出的新類稱為派生類,又稱為子類。在c 語言中,乙個派生類可以從乙個基類派生,也可以從多個基類派生。從乙個基類派生...