實驗6 多型性與虛函式

2021-08-21 04:23:58 字數 3381 閱讀 6382



了解靜態聯編的動態聯編的概念。掌握動態聯編的條件。

//sy6_1.cpp

#include

using

namespace

std;

class

base

voidg(

float

x)

voidh(

float

x)

};class

derived:

public base

"voidg(

intx)

voidh(

float

x)

};int

main

()

. 分析並除錯下列程式

//sy6_3.cpp

#include

using

namespace

std;

class

base

voidf(

float

x)

virtual

voidg(

void)

};class

derived:

public base

"<};

intmain

()

//sy6_3.cpp

#include

using

namespace

std;

class

point

double

area

()

private:

double x,y;

};class

rectangle:

public point

double

area

()

private:

double w,h;

};int

main

()

//sy6_4.cpp

#include

using

namespace

std;

const

double pi=3.1415;

class

shap

;class

********:

public shap

double

area

()

private:

double h,w;

};class

rectangle:

public shap

double

area

()

private:

double h,w;

};class

circle:

public shap

double

area

()

private:

double r;

};class

square:

public shap

double

area

()

private:

double s;

};double

total

(shap *s,

intn)

intmain

()

//sy6_5.cpp

#include

using

namespace

std;

class

teacher

;class

professor:

public teacher

;int

salary

()

;

void

print

(int

money);};

class

associateprofessor:

public teacher

;int

salary

()

;

void

print

(int

money);};

class

lecturer:

public teacher

;int

salary

()

;

void

print

(int

money);};

intmain

()

第4題的shape類定義為抽象類,提供共同操作介面的純虛函式。twodimshape類和threedimshape類仍然抽象類,第3層具體類才能提供全部函式的實現。在測試函式中,使用基類指標實現不同派生類物件的操作。、

//sy6_6.cpp

#include

using

namespace

std;

class

shape

;class

twodimshape:

public shape{};

class

circle:

public twodimshape

double

area

()

double

bulk

(){}

private:

double r;

};class

threedimshape:

public shape{};

class

sphere:

public threedimshape

double

area

(){}

double

bulk

()

private:

double r;

};int

main

()

程式輸出結果如下:

通過本次實驗讓自己了解靜態聯編的動態聯編的概念以及靜態聯編和動態聯編的區別,了解了什麼是過載和覆蓋函式掌握動態聯編的條件。在同乙個作用域內,函式名相同,引數列表不同(引數個數不同,或者引數型別不同,或者引數個數和引數型別都不同),返回值型別可相同也可不同,這種情況叫做c++的過載。

實驗6,多型性與虛函式

一 實驗目的和要求 了解靜態聯編和動態聯編的概念。掌握動態聯編的條件。二 實驗內容 1 分析並除錯下列程式。sy6 1.cpp includeusing namespace std class base 1 找出以上程式中使用了過載和覆蓋的函式。答 base類中函式void g 和void h 與d...

實驗6,多型性與虛函式

一 實驗目的和要求 了解靜態聯編和動態聯編的概念。掌握動態聯編的條件。二 實驗內容 1 分析並除錯下列程式。cpp view plain copy sy6 1.cpp include using namespace std class base class derived public base i...

實驗六 多型性與虛函式

了解靜態聯編的動態聯編的概念。1.分析並除錯下列程式。include using namespace std class base 1 找出以上程式中使用了過載和覆蓋函式。答 base類中函式void g 和void h 與derived類中的函式void g 和void h 函式名相同,引數型別不...