軟件實(shí)驗(yàn)報(bào)告模板-面向?qū)ο蟪绦蛟O(shè)計(jì)(數(shù)學(xué))_第1頁(yè)
軟件實(shí)驗(yàn)報(bào)告模板-面向?qū)ο蟪绦蛟O(shè)計(jì)(數(shù)學(xué))_第2頁(yè)
軟件實(shí)驗(yàn)報(bào)告模板-面向?qū)ο蟪绦蛟O(shè)計(jì)(數(shù)學(xué))_第3頁(yè)
軟件實(shí)驗(yàn)報(bào)告模板-面向?qū)ο蟪绦蛟O(shè)計(jì)(數(shù)學(xué))_第4頁(yè)
軟件實(shí)驗(yàn)報(bào)告模板-面向?qū)ο蟪绦蛟O(shè)計(jì)(數(shù)學(xué))_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、院 系: 數(shù)學(xué)與統(tǒng)計(jì)學(xué)學(xué)院 專 業(yè): 信息與計(jì)算科學(xué) 年 級(jí): 2012 課程名稱: 面向?qū)ο蟪绦蛟O(shè)計(jì) 學(xué) 號(hào): 姓 名: 指導(dǎo)教師: 2014年 11 月 日年級(jí) 2012班號(hào) 2組號(hào)17 學(xué)號(hào) 專業(yè) 信息與計(jì)算科學(xué) 姓名實(shí)驗(yàn)名稱  類和對(duì)象實(shí)驗(yàn)室 實(shí)驗(yàn)?zāi)康幕蛞?#160; 1掌握類的定義和使用方法,掌握類對(duì)象的聲明和使用方法。2掌握對(duì)象的初始化和賦值的方法。3了解成員函數(shù)的特性、友元。4靜態(tài)成員的使用方法。5理解和掌握this指針的用法。6理解和掌握const類型數(shù)據(jù)的使用。實(shí)驗(yàn)原理(算法流程)1、實(shí)驗(yàn)內(nèi)容 2、類的設(shè)計(jì)及說(shuō)明

2、定義一個(gè)描述學(xué)生(Student)基本情況的類,數(shù)據(jù)成員包括姓名(name)、學(xué)號(hào)(num)、數(shù)學(xué)成績(jī)(mathScore)、英語(yǔ)成績(jī)(englishScore)、人數(shù)(count)、數(shù)學(xué)總成績(jī)(mathTotalScore)和英語(yǔ)總成績(jī)(englishTotalScore)。其中姓名定義為長(zhǎng)度為18的字符數(shù)組,其它數(shù)據(jù)成員類型為整型,數(shù)學(xué)總成績(jī)、英語(yǔ)總成績(jī)和人數(shù)為靜態(tài)數(shù)據(jù)成員,函數(shù)成員包括構(gòu)造函數(shù)、顯示基本數(shù)據(jù)函數(shù)(ShowBase)和顯示靜態(tài)數(shù)據(jù)函數(shù)(ShowStatic),其中構(gòu)造函數(shù)由已知參數(shù)姓名(nm)、學(xué)號(hào)(nu)、數(shù)學(xué)成績(jī)(math)和英語(yǔ)成績(jī)(english)構(gòu)造對(duì)象,顯示基本

3、數(shù)據(jù)函數(shù)用于顯示學(xué)生的姓名、學(xué)號(hào)、數(shù)學(xué)成績(jī)、英語(yǔ)成績(jī),顯示靜態(tài)數(shù)據(jù)函數(shù)為靜態(tài)成員函數(shù),用于顯示人數(shù),數(shù)學(xué)總成績(jī),英語(yǔ)總成績(jī);要求所有數(shù)據(jù)成員為private訪問(wèn)權(quán)限,所有成員函數(shù)為public訪問(wèn)權(quán)限,在主函數(shù)中定義若干個(gè)學(xué)生對(duì)象,分別顯示學(xué)生基本信息,以及顯示學(xué)生人數(shù),數(shù)學(xué)總成績(jī)與英語(yǔ)總成績(jī)。組內(nèi)分工(選)無(wú)實(shí)驗(yàn)結(jié)果分析及心得體會(huì)根據(jù)題目的要求,成功的定義一個(gè)描述學(xué)生(Student)基本情況的類,數(shù)據(jù)成員包括姓名(name)、學(xué)號(hào)(num)、數(shù)學(xué)成績(jī)(mathScore)、英語(yǔ)成績(jī)(englishScore)、人數(shù)(count)、數(shù)學(xué)總成績(jī)(mathTotalScore)和英語(yǔ)總成績(jī)(en

4、glishTotalScore)。其中姓名定義為長(zhǎng)度為18的字符數(shù)組,其它數(shù)據(jù)成員類型為整型,數(shù)學(xué)總成績(jī)、英語(yǔ)總成績(jī)和人數(shù)為靜態(tài)數(shù)據(jù)成員,函數(shù)成員包括構(gòu)造函數(shù)、顯示基本數(shù)據(jù)函數(shù)(ShowBase)和顯示靜態(tài)數(shù)據(jù)函數(shù)(ShowStatic),其中構(gòu)造函數(shù)由已知參數(shù)姓名(nm)、學(xué)號(hào)(nu)、數(shù)學(xué)成績(jī)(math)和英語(yǔ)成績(jī)(english)構(gòu)造對(duì)象,顯示基本數(shù)據(jù)函數(shù)用于顯示學(xué)生的姓名、學(xué)號(hào)、數(shù)學(xué)成績(jī)、英語(yǔ)成績(jī),顯示靜態(tài)數(shù)據(jù)函數(shù)為靜態(tài)成員函數(shù),用于顯示人數(shù),數(shù)學(xué)總成績(jī),英語(yǔ)總成績(jī);要求所有數(shù)據(jù)成員為private訪問(wèn)權(quán)限,所有成員函數(shù)為public訪問(wèn)權(quán)限,在主函數(shù)中定義若干個(gè)學(xué)生對(duì)象,分別顯示學(xué)生

5、基本信息,以及顯示學(xué)生人數(shù),數(shù)學(xué)總成績(jī)與英語(yǔ)總成績(jī)。成績(jī)?cè)u(píng)定教師簽名: 年 月 日源代碼如下:#include <string>#include <iostream>using namespace std;class Studentprivate:string name;int num, mathScore, englishSorce;static int count, mathTotalSorcce, englishTotalSorce;public:Student(string a, int b, int c, int d)name = a; num = b; ma

6、thScore = c; englishSorce = d; count+; mathTotalSorcce += c; englishTotalSorce += d;void ShowBase()cout << "姓名:" << name << endl;cout << "學(xué)號(hào):" << num<< endl;cout << "數(shù)學(xué)成績(jī):" << mathScore << endl;cout << "英語(yǔ)

7、成績(jī):" << englishSorce << endl << endl;void ShowStatic()cout << "人數(shù):" << count << endl;cout << "數(shù)學(xué)總成績(jī):" << mathTotalSorcce << endl;cout << "英語(yǔ)總成績(jī):" << englishTotalSorce << endl;int Student:count

8、= 0;int Student:mathTotalSorcce = 0;int Student:englishTotalSorce = 0;void main()Student a("師兄",2012214102,80,85);Student b("師弟",2012214115, 73, 63);a.ShowBase();b.ShowBase();b.ShowStatic();system("pause");年級(jí) 2012班號(hào) 2組號(hào)17 學(xué)號(hào)專業(yè) 信息與計(jì)算科學(xué) 姓名 實(shí)驗(yàn)名稱

9、60; 繼承與派生實(shí)驗(yàn)室實(shí)驗(yàn)原理(算法流程) 1、實(shí)驗(yàn)內(nèi)容2、類的設(shè)計(jì)及說(shuō)明定義Staff(員工)類,由Staff分別派生出Saleman(銷售員)類和Manager(經(jīng)理)類,再由Saleman(銷售員)類和Manager(經(jīng)理)類采用多重繼承方式派生出新類SaleManager(銷售經(jīng)理)類,各類之間的繼承關(guān)系如圖1.2所示。圖2.2 各類之間的繼承關(guān)系要求:(1)在Staff類中包含的數(shù)據(jù)成員有編號(hào)(num)、姓名(name)、出勤率(rateOfAttend)、基本工資(basicSal)和獎(jiǎng)金(prize)。在Saleman類中還包含數(shù)據(jù)成員銷售員提成比例(deductRa

10、te)和個(gè)人銷售額(personAmount),在Manager類中還包含數(shù)據(jù)成員經(jīng)理提成比例(totalDeductRate)和總銷售額(totalAmount)。在SaleManager類中不包含其它數(shù)據(jù)成員。(2)各類人員的實(shí)發(fā)工資公式如下:?jiǎn)T工實(shí)發(fā)工資 = 基本工資 + 獎(jiǎng)金 * 出勤率銷售員實(shí)發(fā)工資 = 基本工資 + 獎(jiǎng)金 * 出勤率 + 個(gè)人銷售額 * 銷售員提成比例經(jīng)理實(shí)發(fā)工資 = 基本工資 + 獎(jiǎng)金 * 出勤率 + 總銷售額 * 經(jīng)理提成比例銷售經(jīng)理實(shí)發(fā)工資 =基本工資 + 獎(jiǎng)金 * 出勤率 + 個(gè)人銷售額 * 銷售員提成比例+ 總銷售額 * 經(jīng)理提成比例(3)每個(gè)類都有構(gòu)造函

11、數(shù)、輸出基本信息函數(shù)(Output)和輸出實(shí)發(fā)工資函數(shù)(OutputWage)。(寫不完時(shí),可另加附頁(yè)。)實(shí)驗(yàn)?zāi)康幕蛞?#160; 1熟練掌握類的繼承,能夠定義和使用類的繼承關(guān)系。2掌握派生類的聲明與實(shí)現(xiàn)方法。3掌握類構(gòu)造函數(shù)的初始化列表與作用域分辨符的使用方法。4理解虛基類在解決二義性問(wèn)題中的作用。組內(nèi)分工(可無(wú)選)實(shí)驗(yàn)結(jié)果分析及心得體會(huì) 根據(jù)要求,成功的定義Staff(員工)類,由Staff分別派生出Saleman(銷售員)類和Manager(經(jīng)理)類,再由Saleman(銷售員)類和Manager(經(jīng)理)類采用多重繼承方式派生出新類SaleManager(銷售經(jīng)理)類,各類之間的繼承關(guān)

12、系。成績(jī)?cè)u(píng)定教師簽名: 年 月 日源代碼如下:/ 文件名: main.cpp#include <iostream>/ 預(yù)處理命令using namespace std;/ 使用標(biāo)準(zhǔn)命名空間std/ 員(Employee)工class Staff/Employeeprotected:/ 數(shù)據(jù)成員:int num;/ 編號(hào)char name16;/ 姓名double basicSalary; /基本工資double prize; /獎(jiǎng)金double rateOfAttend; public:/ 公有函數(shù):Staff(int n, char nm, double bs,double p,

13、double r):/ 構(gòu)造函數(shù)num(n),basicSalary(bs),prize(p),rateOfAttend(r)strcpy(name, nm);void Show() const/ 顯示相關(guān)信息 cout << "編號(hào):" << num << endl;/ 顯示編號(hào)cout << "姓名:" << name << endl;/ 顯示姓名cout << "基本工資:" << basicSalary << "

14、;元" << endl;/ 顯示基本工資cout << "獎(jiǎng)金:" << prize << "元" << endl;/ 顯示獎(jiǎng)金cout << "出勤率:" << rateOfAttend << "元" << endl;void ShowSalary() const/ 輸出實(shí)發(fā)工資cout<<"實(shí)發(fā)工資:"<< basicSalary+prize*rate

15、OfAttend<< "元" << endl;/ 生明銷售員類class Saleman: virtual public Staff protected:/ 保護(hù)成員:double deductRate; /銷售提成比例 double personAmount; /個(gè)人銷售額public:/ 公有函數(shù):Saleman(int n, char nm, double bs,double p,double d,double pa,double r): Staff(n, nm, bs,p,r),deductRate(d),personAmount(pa)vo

16、id Show() const/ 顯示相關(guān)信息 Staff:Show();/ 調(diào)用基類函數(shù)Show()cout << "銷售員提成比例:" << deductRate << endl;/ 顯示銷售員提成比例cout << "個(gè)人銷售額:" << personAmount << "元" <<endl;/ 換行void ShowSalary() const /輸出實(shí)發(fā)工資cout <<"實(shí)發(fā)工資:"<<basic

17、Salary+prize*rateOfAttend+deductRate*personAmount<<"元" <<endl;/ 聲明經(jīng)理類class Manager: virtual public Staff protected:/ 保護(hù)成員:double tatalDeductRate; /經(jīng)理提成比例double tatalAmount; /總銷售額 public:/ 公有函數(shù):Manager(int n, char nm, double bs,double p,double td,double ta,double r): Staff(n, nm

18、, bs,p,r),tatalDeductRate(td),tatalAmount(ta)void Show() const/ 顯示相關(guān)信息 Staff:Show();/ 調(diào)用基類函數(shù)Show()cout << "經(jīng)理提成比例:" << tatalDeductRate << endl;/ 顯示經(jīng)理提成比例cout << "總銷售額:" << tatalAmount << "元" <<endl;void ShowSalary() const/ 顯示實(shí)發(fā)工

19、資cout <<"實(shí)發(fā)工資:"<<basicSalary+prize*rateOfAttend+tatalDeductRate*tatalAmount<< "元" <<endl;/ 聲明銷售經(jīng)理類class SaleManager: public Saleman, public Managerpublic:/ 公有函數(shù):SaleManager(int n, char nm, double bs,double p,double d,double pa,double td,double ta,double r)

20、: /構(gòu)造函數(shù) Staff(n,nm,bs,p,r), Saleman(n,nm, bs, p ,d, pa,r), Manager(n,nm, bs, p , td, ta,r)void Show() const/ 顯示相關(guān)信息 Staff:Show();/ 調(diào)用基類函數(shù)Show()cout << "銷售員提成比例:" << deductRate << endl;/ 顯示銷售員提成比例cout << "個(gè)人銷售額:" << personAmount << "元"

21、 <<endl; cout << "經(jīng)理提成比例:" << deductRate << endl;/ 顯示經(jīng)理提成比例cout << "總銷售額:" << tatalAmount << "元" <<endl;void ShowSalary() const/ 顯示實(shí)發(fā)工資cout <<"實(shí)發(fā)工資:"<<basicSalary+prize*rateOfAttend+deductRate*personA

22、mount+tatalDeductRate*tatalAmount<< "元" <<endl;int main()/ 主函數(shù)main()Staff e(106,"文冠杰", 1680, 1080,0.9);/ 定義對(duì)象cout<<"員工信息:"<< endl; /輸出提示e.Show(); /輸出基本信息e.ShowSalary(); /輸出實(shí)發(fā)工資Saleman s(108,"周杰", 2680,1680,0.15,23000,0.8); /定義對(duì)象cout<

23、< endl<<"銷售員信息:"<< endl; /輸出提示s.Show(); /輸出基本信息s.ShowSalary(); /輸出實(shí)發(fā)工資Manager m(116,"李靖", 3680, 2680, 0.1, 83000,0.7);/ 定義對(duì)象cout<< endl<<"經(jīng)理信息:"<< endl; /輸出提示m.Show(); /輸出基本信息m.ShowSalary(); /輸出實(shí)發(fā)工資SaleManager sm(118,"吳姐", 3680

24、, 2680, 0.15, 28000, 0.1,88000,0.6);/ 定義對(duì)象cout<< endl<<"銷售經(jīng)理信息:"<< endl; /輸出提示sm.Show(); /輸出基本信息sm.ShowSalary(); /輸出實(shí)發(fā)工資system("PAUSE"); / 調(diào)用庫(kù)函數(shù)system( ),輸出系統(tǒng)提示信息return 0; / 返回值0, 返回操作系統(tǒng)年級(jí) 2012班號(hào) 2組號(hào)17 學(xué)號(hào)專業(yè) 信息與計(jì)算科學(xué) 姓名實(shí)驗(yàn)名稱函數(shù)重載與運(yùn)算符重載實(shí)驗(yàn)室實(shí)驗(yàn)?zāi)康幕蛞?

25、學(xué)習(xí)函數(shù)和操作符重載的使用方法。2理解函數(shù)和運(yùn)算符重載的作用和意義。3掌握類運(yùn)算符和友元運(yùn)算符重載的定義和使用。4掌握常用運(yùn)算符的重載。實(shí)驗(yàn)原理(算法流程)設(shè)計(jì)一個(gè)時(shí)間類Time,要求:(1)包含時(shí)(hour)、分(minute)和秒(second)私有數(shù)據(jù)成員。(2)包含構(gòu)造函數(shù),重載關(guān)于一時(shí)間加上另一時(shí)間的加法運(yùn)算符+、重載關(guān)于一時(shí)間減去另一時(shí)間的減加運(yùn)算符-、重載輸出運(yùn)算符<<與輸入運(yùn)算符>>等。組內(nèi)分工(可選)無(wú)實(shí)驗(yàn)結(jié)果分析及心得體會(huì)從本次實(shí)驗(yàn)中,我學(xué)到了:1學(xué)習(xí)函數(shù)和操作符重載的使用方法。2理解函數(shù)和運(yùn)算符重載的作用和意義。3掌握類運(yùn)算符和友元運(yùn)算符重載的定義

26、和使用。4掌握常用運(yùn)算符的重載。設(shè)計(jì)一個(gè)時(shí)間類Time,并且(1)包含時(shí)(hour)、分(minute)和秒(second)私有數(shù)據(jù)成員。(2)包含構(gòu)造函數(shù),重載關(guān)于一時(shí)間加上另一時(shí)間的加法運(yùn)算符+、重載關(guān)于一時(shí)間減去另一時(shí)間的減加運(yùn)算符-、重載輸出運(yùn)算符<<與輸入運(yùn)算符>>等。成績(jī)?cè)u(píng)定教師簽名: 年 月 日源代碼如下:#include <iostream>using namespace std;class Timeprivate:int hour;int minute;int second;public:Time(int hh=0,int mm=0,int

27、 ss=0):hour(hh),minute(mm),second(ss) void SetHour(int hh)hour=hh; void SetMinute(int mm)minute=mm; void SetSecond(int ss)second=ss;int GetHour() constreturn hour; int GetMinute() constreturn minute; int GetSecond() constreturn second; Time operator+(int seconds); Time operator-(int seconds); static

28、 int TimeToNum(const Time &ss); static Time NumToTime(int n); ;ostream &operator<<(ostream &out,const Time &ss);istream &operator>>(istream &in,Time &ss);Time Time:operator+(int seconds) int n=TimeToNum(*this)+seconds; return NumToTime(n);Time Time:operator-(i

29、nt seconds)int n=TimeToNum(*this)-seconds; return NumToTime(n); int Time:TimeToNum(const Time &ss) int n=0; n+=ss.GetHour()*3600;n+=ss.GetMinute()*60;n+=ss.GetSecond(); return n; Time Time:NumToTime(int n)int hh,mm,ss;hh=n/3600;mm=(n-hh*3600)/60;ss=n%60;return Time(hh,mm,ss);ostream &operato

30、r<<(ostream &out,const Time &ss) out<<ss.GetHour()<<"時(shí)"<<ss.GetMinute()<<"分"<<ss.GetSecond()<<"秒"return out;istream &operator>>(istream &in,Time &ss) int hour,minute,second;cin>>hour>>minute

31、>>second;ss=Time(hour,minute,second);return in;int main(void)Time ss(17,27,30);cout<<"時(shí)間"<<ss<<endl;cout<<"時(shí)間+10:"<<ss+10<<endl;cout<<"時(shí)間-10:"<<ss-10<<endl;cout<<"輸出時(shí)間:"cin>>ss;cout<<

32、;"時(shí)間:"<<ss<<endl;system("PAUSE");return 0;年級(jí) 2012班號(hào) 2組號(hào)17 學(xué)號(hào) 專業(yè) 信息與計(jì)算科學(xué) 姓名實(shí)驗(yàn)名稱 虛函數(shù)與多態(tài)性實(shí)驗(yàn)室實(shí)驗(yàn)?zāi)康幕蛞?掌握虛函數(shù)的作用、定義和用途。 2掌握純虛函數(shù)的作用、定義和使用。3理解使用虛函數(shù)和繼承實(shí)現(xiàn)多態(tài)性。實(shí)驗(yàn)原理(算法流程) 1、實(shí)驗(yàn)內(nèi)容2、類的設(shè)計(jì)及說(shuō)明編寫程序,定義抽象基類Shape(形狀),由它派生出3個(gè)派生類: Circle(圓形)、Rectangle(矩形)和Square

33、正止方形),用函數(shù)函數(shù)ShowArea()分別顯示各種圖形的面積,最后還要顯示所有圖形的總面積。要求用基類指針數(shù)組,使它的每一個(gè)元素指向一一個(gè)派生類對(duì)象。組內(nèi)分工(可選)無(wú)實(shí)驗(yàn)結(jié)果分析及心得體會(huì) 從本次實(shí)驗(yàn)中,我學(xué)到了:1掌握虛函數(shù)的作用、定義和用途。 2掌握純虛函數(shù)的作用、定義和使用。3理解使用虛函數(shù)和繼承實(shí)現(xiàn)多態(tài)性。并且編寫程序,定義抽象基類Shape(形狀),由它派生出3個(gè)派生類: Circle(圓形)、Rectangle(矩形)和Square 正止方形),用函數(shù)函數(shù)ShowArea()分別顯示各種圖形的面積,最后還要顯示所有圖形的總面積。要求用基類指針數(shù)組,使它的每一個(gè)元素指向一一個(gè)派

34、生類對(duì)象。成績(jī)?cè)u(píng)定教師簽名: 年 月 日源代碼如下:/ 文件名: main.cpp#include <iostream>/ 預(yù)處理命令using namespace std;/ 使用標(biāo)準(zhǔn)命名空間stdconst double PI = 3.1415926;/ 常量PI/ 形狀類class Shapepublic:/ 公有成員:virtual void ShowArea() const = 0;/ 純虛函數(shù)static double sum;/ 靜態(tài)數(shù)據(jù)成員;/ 形狀類/ 圓形類class Circle: public Shapeprivate:/ 數(shù)據(jù)成員:double radiu

35、s;/ 半徑public:/ 公有函數(shù):Circle(double r): radius(r)/ 構(gòu)造函數(shù) sum += PI * radius * radius; void ShowArea() const/ 顯示圓形相關(guān)信息 cout << "圓形:" << endl;cout << "半徑:" << radius << endl;/ 顯示半徑cout << "面積:" << PI * radius * radius << endl;/

36、 顯示面積;/ 矩形類class Rectangle: public Shapeprivate:/ 數(shù)據(jù)成員:double height;/ 高double width;/ 寬public:/ 公有函數(shù):Rectangle(double h, double w): height(h), width(w)/ 構(gòu)造函數(shù) sum += height * width; void ShowArea() const/ 顯示矩形相關(guān)信息 cout << "矩形:" << endl;cout << "高:" << heig

37、ht << endl;/ 顯示高cout << "寬:" << width << endl;/ 顯示寬cout << "面積:" << height * width << endl;/ 顯示面積;/ 正方形類class Square: public Shapeprivate:/ 數(shù)據(jù)成員:double longth;/ 長(zhǎng)double width;/ 寬public:/ 公有函數(shù):Square(double l, double a): longth(l), width(a

38、)/ 構(gòu)造函數(shù) sum += longth * width; void ShowArea() const/ 顯示矩形相關(guān)信息 cout << "正方形:" << endl;cout << "長(zhǎng):" << longth << endl;/ 顯示長(zhǎng)cout << "寬:" << width << endl;/ 顯示寬cout << "面積:" << longth * width << en

39、dl;/ 顯示面積;double Shape:sum = 0;/ 為靜態(tài)數(shù)據(jù)成員賦初值int main(void)/ 主函數(shù)main(void)char flag = 'Y'/ 判斷是否繼續(xù)錄入的標(biāo)志, 初始化為'Y'Shape *p3;/ 基類指向while (toupper(flag) = 'Y')cout << "請(qǐng)選擇輸入類別(1.圓形 2.矩形 3.正方形)"int select;/ 臨時(shí)變量cin >> select;/ 輸入選擇switch (select)case 1:/ 圓形doubl

40、e r;/ 半徑cout << "輸入半徑:"cin >> r;/ 輸入半徑p3 = new Circle(r);/ 生成圓對(duì)象p3->ShowArea();/ 顯示相關(guān)信息delete p3;/ 釋放存儲(chǔ)空間break;case 2:/ 矩形double h, w;/ 高寬cout << "輸入高:"cin >> h;/ 輸入高cout << "輸入寬:"cin >> w;/ 輸入寬p3 = new Rectangle(h, w);/ 生成矩形對(duì)象p3-&

41、gt;ShowArea();/ 顯示相關(guān)信息delete p3;/ 釋放存儲(chǔ)空間break;break;case 3:/ 矩形double l, a;/ 長(zhǎng)寬cout << "輸入長(zhǎng):"cin >> l;/ 輸入高cout << "輸入寬:"cin >> a;/ 輸入寬p3 = new Rectangle(l, a);/ 生成矩形對(duì)象p3->ShowArea();/ 顯示相關(guān)信息delete p3;/ 釋放存儲(chǔ)空間break;default:/ 其它情況, 表示選擇有誤cout << &q

42、uot;選擇有誤!"<< endl;break;cout << endl << "是否繼續(xù)錄入信息?(Y/N)"cin >> flag;cout << "總面積:" << Shape:sum << endl;system("PAUSE"); / 調(diào)用庫(kù)函數(shù)system( ), return 0; / 返回值0, 返回操作系統(tǒng)年級(jí) 2012班號(hào) 2組號(hào)17 學(xué)號(hào)專業(yè) 信息與計(jì)算科學(xué) 姓名實(shí)驗(yàn)名稱 

43、; 模板實(shí)驗(yàn)室實(shí)驗(yàn)?zāi)康幕蛞?#160; 1了解模板的作用,熟悉函數(shù)模板和類模板的定義格式。 2掌握函數(shù)模板與類模板的應(yīng)用。實(shí)驗(yàn)原理(算法流程)對(duì)數(shù)組進(jìn)行排序、求最大值和求元素和的函數(shù)采用靜態(tài)成員函數(shù)的方式封裝成數(shù)組算法類模板ArrayAlg,并采用相關(guān)數(shù)據(jù)進(jìn)行測(cè)試。 組內(nèi)分工(可選)無(wú)實(shí)驗(yàn)結(jié)果分析及心得體會(huì)從本次實(shí)驗(yàn)中,我學(xué)到了:了解模板的作用,熟悉函數(shù)模板和類模板的定義格式。 并且掌握函數(shù)模板與類模板的應(yīng)用。對(duì)數(shù)組進(jìn)行排序、求最大值和求元素和的實(shí)現(xiàn)。成績(jī)?cè)u(píng)定教師簽名: 年 月 日源代碼如下:#include<iostream>using namespace std;t

44、emplate<class T>class ArrayAlgprivate: T *elem; int size;public: ArrayAlg(T *a,int s):elem(a),size(s) static T Max(T *elem,int size); static T Sum(T *elem,int size); static void Sort(T *elem,int size); static void Display(T *elem,int size);template <class T>T ArrayAlg<T>:Max(T *ele

45、m,int size) T max=elem0; for(int i=1;i<size;i+) if(max<elemi) max=elemi; return max;template <class T>T ArrayAlg<T>:Sum(T *elem,int size) T sum=0; for(int i=0;i<size;i+) sum+=elemi; return sum;template<class T>void ArrayAlg<T>:Sort(T *elem,int size) for(int i=0;i<size-1;i+) int k=i; for(int j=i+1;j<size;j+) if(elemk

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論