C 派生類和基類

2021-09-21 13:14:27 字數 1164 閱讀 4461

基類的建構函式和析構函式不能被繼承,在派生類中,如果對派生類新增的成員進行初始化,需要加入派生類的建構函式

下面定義了乙個基類 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 語言中,乙個派生類可以從乙個基類派生,也可以從多個基類派生。從乙個基類派生...