C 學習筆記 利用虛函式面積計算

2021-10-02 17:22:28 字數 2828 閱讀 8160

#pragma once

class

shape

;

#pragma once

#include

"shape.h"

#include

using

namespace std;

class

circle

:public shape

//對虛函式進行再定義

virtual

void

printarea()

const

//對虛函式進行再定義

friend ostream &

operator

<<

(ostream &

,const circle &);

//運算子過載

protected

:float radius;

};

#include

"circle.h"

circle::

circle

(float r)

:radius

(r)//定義建構函式

void circle::

setradius

(float r)

float circle::

getradius()

const

ostream &

operator

<<

(ostream &output,

const circle &c)

#pragma once

#include

"shape.h"

#include

using

namespace std;

class

rectangle

:public shape

//對虛函式進行再定義

virtual

void

printarea()

const

//對虛函式進行再定義

friend ostream &

operator

<<

(ostream &

,const rectangle &);

//運算子過載

protected

:float _x, _y;

};

#include

"rectangle.h"

rectangle::

rectangle

(float x,

float y):_x

(x),

_y(y)

void rectangle::

setxy

(float x,

float y)

float rectangle::

getx()

const

float rectangle::

gety()

const

ostream &

operator

<<

(ostream &output,

const rectangle &r)

#pragma once

#include

"shape.h"

#include

using

namespace std;

class

********

:public shape

//對虛函式進行再定義

virtual

void

printarea()

const

//對虛函式進行再定義

friend ostream &

operator

<<

(ostream &

,const ******** &);

//運算子過載

利用虛函式求面積

定義抽象基類shape,由它派生出3個派生類 circle 圓形 rectangle 長方形 和 三角形 用虛函式分別計算面積。編寫求面積和函式double totalarea const vector 該函式利用基類指標向量,它的每乙個元素指向乙個派生類的圖形物件。編寫測試直譯器,讀入各種圖形資訊...

C 學習筆記 虛函式

虛函式主要用於c 中的多型特性,對於類的繼承而言,如果用父類的指標指向子類的的物件,當用該指標操作子類物件時,該指標只能操作父類中的函式,而對於子類中特有的和過載的方法,用該指標將無法使用。案例 class base class derive public base void show 派生類獨有的...

C 學習筆記之虛函式

虛函式即在父類中成員函式錢加上virtual關鍵字,使得該成員函式具有動態鏈結屬性 因此函式具有了多型性 那麼什麼是動態鏈結呢?即程式在編譯階段不能確切知道將要呼叫的函式,只有在程式執行時才能確定將要呼叫的函式,要確切的知道呼叫的函式,要求聯編工作要在程式執行時進行,這種程式執行時進行的聯編稱之為動...