石家莊鐵道大學
物件導向程式設計上機實驗報告
學院資訊科學與技術學院
年級 2011 級
班級姓名學號
2023年5月7日
5、多型程式設計
一實驗名稱:多型程式設計
二.實驗環境:windows xp系統,vc++6.0軟體
三.實驗目的:1、了解多型性實現的方法。
2、熟練掌握運算子過載的方法。
3、掌握虛函式和純虛函式的概念。
4、掌握抽象類的概念及使用方法。
四.實驗內容:
1、定義乙個抽象類幾何圖形類geometric_shape,包含三個成員函式:計算周長perimeter、計算面積area、繪製draw,圓類circle、矩形類rectangle和三角形類********都繼承於geometric_shape,在主函式中,定義乙個幾何圖形類geometric_shape的指標分別定義指向圓類circle、矩形類rectangle和三角形類********的物件,並呼叫其成員函式完成計算周長、計算面積和繪製圖形的功能。
2、輸入下面的程式,觀察程式的執行結果,體會純虛函式和抽象類的概念。
#include
class number
virtual void show()=0;
};class hextype: public number
void show() ;
class octtype: public number
void show() ;
3、比較下面兩個程式的執行結果,掌握多型性。
//程式1
#include
class a
void disp()
cout <<"x="<};
class b:public a
void disp()
cout <<"z="<};
void main()
//程式2
#include
class a
virtual void disp()
cout <<"x="<};
class b:public a
virtual void disp() //此處的virtual 可不寫
cout <<"z="<};
void main()
五.實驗步驟:
1.#include
#include
#define double pi 3.1415926
using namespace std;
class geometric_shape;
class circle:public geometric_shape;
class rectangle:public geometric_shape;
class ********:public geometric_shape;
circle::circle(double r1)
double circle::perimeter()
double circle::area()
//??????void circle::draw()
double rectagle::perimeter()
double rectagle::area()
********::********(double a1,double b1,double c1)
double ********::perimeter()
double ********::area()
void main()
2.概念:純虛函式:是在乙個基類中宣告的的虛函式,他在該基類中沒有定義具體的操作內容,要求各派生類根據實際需要給出各自的定義。
抽象類:帶有純虛函式的類。
3.程式1執行結果:x=50 y=100
z=3x=50 y=100
x=1 y=2
程式2執行結果:x=50 y=100
z=3x=50 y=100
z=3六.心得體會:
1.虛函式的作用是實現執行時的多型性。
2.抽象類不能例項化。
3.通過指標或引用可以指向並訪問派生類的物件。
C語言程式設計A實驗報告
桂林電子科技大學 姓名 陸清霞學號 1300320106 實驗日期 2014 06 15 同組合作者 無 一 實驗目的和要求 利用所學過的c語言程式設計的基本知識如綜合順序,分支,迴圈結構和函式,以及陣列,指標,結構體,共用體,檔案的進行程式設計,較全面的掌握c語言的知識。初步掌握輸入,輸出,查詢,...
C語言程式設計實驗報告
專業電腦科學與技術班級卓越工程師班日期 2011年12月23日實驗組別第一組成績第九次實驗結構與聯合實驗指導教師李開學生姓名學號 實驗名稱結構與聯合實驗 一 實驗目的 1 熟悉和掌握結構的說明和引用 結構的指標 結構陣列,以及函式中使用結構的方法。2 掌握動態儲存分配函式的用法,掌握自引用結構和單向...
C語言程式設計實驗報告
實驗七一 實驗專案名稱 函式的應用 二 實驗時間 三 實驗地點 四 實驗目的 1.掌握函式定義和呼叫的方式。2.掌握函式的巢狀呼叫。3.熟悉函式的遞迴呼叫。4.熟悉全域性變數和區域性變數的概念和用法。五 主要的實驗所需儀器 裝置 pc機。六 實驗內容與步驟 1.設計函式,根據公式1公里 5 8英里,...