初學程式設計C 之動態多型

2021-08-29 13:45:52 字數 1250 閱讀 8706

**示例:

#include

#include

#include

"shape.h"

#include

"circle.h"

#include

"rect.h"

using namespace std;

/** 動態多型、虛函式

要求:1、定義shape類: 成員函式:calcarea()、建構函式、析構函式

2、定義rect類: 成員函式:calcarea()、建構函式、析構函式

資料成員:m_dwidth、m_dheight

3、定義circle類:成員函式:calcarea()、建構函式、析構函式

資料成員:m_dr

*/#ifndef shape_h

#define shape_h

#include

using namespace std;

class shape

;#endif

#include「shape.h」

shape:

:shape()

shape::~

shape()

double shape:

:calcarea()

#ifndef rect_h

#define rect_h

class rect:public shape

;#endif

rect:

:rect

(double width,

double height)

rect::~

rect()

double rect:

:calearea()

#ifndef circle_h

#define circle_h

#include

"shape.h"

class circle:public shape

;#endif

circle:

:circle

(double m_dr)

circle::~

circle()

double circle:

:calcarea()

intmain

(void

)

列印結果:

初學程式設計C 之isa

示例 include include using namespace std 保護繼承和私有繼承 要求 1 person類 資料成員 m strname 成員函式 建構函式 析構函式 play 2 solder類 資料成員 m iage 成員函式 建構函式 析構函式 work 3 定義函式test1...

c 動態多型

c 多型分為動態多型和靜態多型,靜態多型就是函式承過載,運算子過載。動態多型就是派生類和虛函式之間的關係了。靜態多型地制早繫結。動態多型就是位址晚繫結,發生在程式執行階段。首先動態多型發生的條件 有繼承關係 子類中重寫了父類中的虛函式 過載與重寫 過載要求函式名相同,而函式的引數不同。重寫要求函式的...

C 多型 靜態多型與動態多型

多型 顧名思義,多型就是多種形態,也就是對不同物件傳送同乙個訊息,不同物件會做出不同的響應。並且多型分為靜態多型和動態多型。靜態多型就是在系統編譯期間就可以確定程式執行到這裡將要執行哪個函式,例如 函式的過載,物件名加點操作符執行成員函式等,都是靜態多型,其中,過載是在形成符號表的時候,對函式名做了...