




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)驗(yàn)二 類與對(duì)象一、實(shí)驗(yàn)?zāi)康?、學(xué)習(xí)類與對(duì)象的定義,掌握類與對(duì)象的使用方法。2、學(xué)習(xí)數(shù)據(jù)成員與成員函數(shù)的訪問(wèn)方式,理解構(gòu)造函數(shù)和析構(gòu)函數(shù)的定義 與執(zhí)行過(guò)程,學(xué)會(huì)構(gòu)造函數(shù)的重載方法。3、掌握數(shù)組與指針的定義與使用方法, 理解數(shù)組與指針的存儲(chǔ)分配與表示4、掌握用指針和引用向函數(shù)傳遞參數(shù)。5、掌握靜態(tài)數(shù)據(jù)成員和靜態(tài)成員函數(shù)的使用。6、理解友元與友元函數(shù)的作用與使用方法。、實(shí)驗(yàn)內(nèi)容1、下面是一個(gè)計(jì)算器類的定義,請(qǐng)完成該類成員函數(shù)的實(shí)現(xiàn)class Counterpublic:Counter(int number);void increment(); / 給原值加 1void decrement(); /
2、給原值減 1int getValue(); /取得計(jì)數(shù)器值int print(); /顯示計(jì)數(shù)private:int value;#includeclass countpublic:counter(int number);void increment();void decrement();int getvalue(int);int print();private:int value;void count:increment()int a=value+1;void count:decrement()int b=value-1;int count:getvalue(int s)value=s;re
3、turn 0;int count:print()coutvalue+1=value+1endl; coutvalue-1=value-1endl; return 0;void main()count s;s.getvalue(5);s.print();/2、根據(jù)注釋語(yǔ)句的提示,實(shí)現(xiàn)類 Date的成員函數(shù)。#in cludeclass Datepublic:void prin tDate();顯示日期void setDay(i nt d);/ 設(shè)置日的值void setMo nth(i nt m);/設(shè)置月的值void setYear(i nt y);/設(shè)置年的值private:int day,
4、 mon th,year;void Date:pri ntDate()coutvvyearvv年month月day日void Date:setDay(int d)day=d;void Date:setMonth(int m)month=m;void Date:setYear(int y)year=y;int main()Date testDay; testDay.setDay(5); testDay.setMonth(10); testDay.setYear(2014); testDay.printDate(); return 0;x C:XDucu*eBts and SexiincsXABi
5、nistratoi.ese空014年10月占日匸”去玄amy key td contd3、建立類cylinder , cylinder的構(gòu)造函數(shù)被傳遞了兩個(gè) double值,分別 表示圓柱體的半徑和高度。用類cyli nder計(jì)算圓柱體的體積,并存儲(chǔ)在一個(gè)double變量中。在類cylinder中包含一個(gè)成員函數(shù)vol(),用來(lái)顯示每個(gè)cyli nder 對(duì)象的體積。#in cludeclass cyli nderprivate:double r;double h;double v;public:cyli nder();double vol();cyli nder(double,double)
6、;cyli nder:cyli nder(double m,double n ):r(m),h( n)cyli nder:cyli nder()coutC on structor callede ndl;double cyli nder:vol()double v;v=3.14*r*r*h;return v;double mai n()cyli nder a(1.1,2.2);cout體積=a.vol()endl; return 0;4、構(gòu)建一個(gè)類book,其中含有兩個(gè)私有數(shù)據(jù)成員qu和price ,建立一個(gè)有 5個(gè)元素的數(shù)組對(duì)象,將qu初始化為15,將price初始化為qu的10倍。顯示 每
7、個(gè)對(duì)象的qu*price值。#in cludeclass bookprivate:int qu;int price;int s;public:book(i nt p,i nt q):qu(p),price(q)void prin t()coutqu*pricee ndl;;int mai n()book a(1,10);a. pri nt();book b(2,20);b. pri nt();book c(3,30);c. pri nt();book d(4,40);d. pri nt();book e(5,50);e. pri nt(); return 0;5、修改上題,通過(guò)對(duì)象指針訪問(wèn)對(duì)象
8、數(shù)組,使程序以相反的順序顯示對(duì)象 數(shù)組的qu*price值。#in cludeclass bookprivate:int qu;int price;int s;public:book(int p)qu=p;price=qu*10;int print() return(qu*price);int main()book a5=1,2,3,4,5;book *p;p=&a4;for(int i=4;i=0;i-)coutprint()endl; p-;return 0;6 構(gòu)建一個(gè)類Stock,含字符數(shù)組stockcode及整型數(shù)據(jù)成員quan、雙 精度型數(shù)據(jù)成員price。構(gòu)造函數(shù)含3個(gè)參數(shù):字符
9、數(shù)組na及q、p。當(dāng)定義 Stock的類對(duì)象時(shí),將對(duì)象的第一個(gè)字符串參數(shù)賦給數(shù)據(jù)成員stockcode,第2個(gè)和第3個(gè)參數(shù)分別賦給quan和price。未設(shè)置第2個(gè)和第3個(gè)參數(shù)時(shí),quan 的值為1000, price的值為8.98。成員函數(shù)print()使用this指針,顯示對(duì)象 內(nèi)容。#in clude#in cludeclass Stockchar stockcode10;int qua n;double price;public:Stock(char na10,int q=1000,double p=8.98);void prin t();Stock:Stock(char na10,i
10、nt q,double p) strcpy(stockcode,na);quan=q;price=p;void Stock:print()coutstockcode,quan,priceendlvoid main()Stock m(sdgjgj,798,9.89);m.print();Stock n(sljf); cout 默認(rèn): n.print();x C: Ducu*enis and SexiinSABinist ratoi. LEK0OA273L042DetutVc. ese.JIAe gi e d七臥 is黒 Banyto99outxnue7、參考課本例子,建立一個(gè)源程序文件,在此文件
11、中建立一個(gè)新的類,將 新建的類命名為Rect。class Rectpublic:int Areant();double Area_double();Rect(double length ,double width);Rect(int length ,int width);virtual Rect();private :int nLen gth;int nWidth;double dLe ngth;double dWidth;;【要求】(1) 向 Rect 類中添加數(shù)據(jù)成員及成員函數(shù), 并完善成員函數(shù)的功能。 如設(shè)計(jì) 一個(gè) Area_int() 函數(shù),計(jì)算邊長(zhǎng)為整型的長(zhǎng)方形的面積; 設(shè)計(jì)一個(gè) A
12、rea_double() 函數(shù),計(jì)算邊長(zhǎng)為 double 型的長(zhǎng)方形的面積。(2) 重載構(gòu)造函數(shù)。一種構(gòu)造函數(shù)用整型變量記錄長(zhǎng)方形的長(zhǎng)和寬,另一種 構(gòu)造函數(shù)用 double 型記錄。(3) 體現(xiàn)對(duì)象的構(gòu)造和析構(gòu)過(guò)程。例如,在構(gòu)造函數(shù)中用cout”I am theconstructor! ” endl ; 在 析 構(gòu) 函 數(shù) 中 輸 出 cout ”Iam thedestructo r ” endl 。(4) 在 main() 函數(shù)中定義兩個(gè) Rect 類的對(duì)象,一個(gè)對(duì)象用實(shí)例實(shí)現(xiàn) ( 就像定 義普通的變量一樣),另一個(gè)對(duì)象用指針實(shí)現(xiàn)(利用關(guān)鍵字new,給指針?lè)峙鋬?nèi)存 空間) 。并用不同的參數(shù),
13、以調(diào)用不同的構(gòu)造函數(shù)體現(xiàn)構(gòu)造函數(shù)的重載。#includeclass Rectpublic:int Area_int();double Area_double();Rect(double length,double width);Rect(int length,int width);virtual Rect();private:int nLength;int nWidth;double dLength;double dWidth;int Rect:Area_int()int s; s=nLength*nWidth;coutint 的長(zhǎng)方形的面積 :sendl; return 0;double R
14、ect:Area_double()double k;k=dLength*dWidth;coutdouble 型的長(zhǎng)方形的面積 : kendl;return 0;Rect:Rect(int length,int width)nLength=length;nWidth=width;coutI am the constructor!endl; Rect:Rect()coutI am the destructorendl;Rect:Rect(double length,double width) dLength=length;dWidth=width;coutI am the constructor!
15、Area_i nt();delete p;Rect *q=new Rect(3.2,3.4);q-Area_double();delete q;EE*C;LiciiBeat s and SettingsAdainistor. 1EIOFO-12T3104DebufXteseI am the cansI am the cans true 101*s七的喪方評(píng)的面積皿皿aJb型向長(zhǎng)芳形的面積=7-82I am fzlkc cartstiructor?init的長(zhǎng)方形的面積江倉(cāng)I cMli the dlisti-UCLoir*I duii Lht: eunstructorfdejufjg型曲長(zhǎng)方形的
16、面積:10-88I an the destructoi*1 an the destruct01*I an the de st met di*Presskey to continue8、聲明一個(gè)Student,在該類中包括一個(gè)數(shù)據(jù)成員 score (分?jǐn)?shù))、兩個(gè)靜 態(tài)數(shù)據(jù)成員total_score (總分)和count(學(xué)生人數(shù));還包括一個(gè)成員函數(shù) account()用于設(shè)置分?jǐn)?shù)、累計(jì)學(xué)生的成績(jī)之和、累計(jì)學(xué)生人數(shù),一個(gè)靜態(tài)成員 函數(shù)sum()用于返回學(xué)生的成績(jī)之和,另一個(gè)靜態(tài)成員函數(shù)average()用于求全班成績(jī)的平均值。在 main()函數(shù)中,輸入某班學(xué)生的成績(jī),并調(diào)用上述函數(shù)求 出全班學(xué)
17、生的成績(jī)之和和平均分。#includeclass studentdouble score;static double tatal_score;static int count;static double ave;public:void account(double);static double sum();static double average();void print();void student:account(double m) score=m; tatal_score=tatal_score+m;+count;double student:sum()return(tatal_sco
18、re);double student:average()ave=tatal_score/count;return ave;void student:print()cout 人數(shù)為: countendl;aveendl;cout 總成績(jī)?yōu)?: tatal_score 平均成績(jī)?yōu)椋?int student:count=0;double student:tatal_score=0.0;double student:ave=0.0;void main() student a;a.account(97);a.sum();a.average(); student b;b.account(87);b.sum
19、();b.average();b.print();9、設(shè)計(jì)一個(gè)用來(lái)表示直角坐標(biāo)系的Locatio n類,在主程序中創(chuàng)建類Location的兩個(gè)對(duì)象A和B,要求A的坐標(biāo)點(diǎn)在第3象限,B的坐標(biāo)點(diǎn)在第2象 限,分別采用成員函數(shù)和友元函數(shù)計(jì)算給定兩個(gè)坐標(biāo)點(diǎn)之間的距離,要求按如下格式輸出結(jié)果:A(x1,y1),B(x2,y2)Dista nce=d其中:x1、y1、x2、y2為指定的坐標(biāo)值,d為兩個(gè)坐標(biāo)點(diǎn)之間的距離。#in clude#in cludeclass locati ondouble x;double y;public:locati on (double,double);void print(
20、location m);friend void print(location &,location &);location:location(double m,double n) x=m;y=n;void location:print(location m)double dx=x-m.x;double dy=y-m.y;double d=sqrt(dx*dx+dy*dy);coutAB 的 distance :dendl; void print(location &a,location &b)double dx=a.x-b.x;double dy=a.y-b.y;double d=sqrt(d
21、x*dx+dy*dy);coutAB 的 distance :dendl; void main()location A(-3.0,-2.0);location B(-4.3,4.3);A.print(B);print(A,B);10、使用C+啲string類,將5個(gè)字符串按逆轉(zhuǎn)后的順序顯示出來(lái)。例如,逆轉(zhuǎn)前的 5 個(gè)字符串是: Germany Japan、American、British 、France按逆轉(zhuǎn)后的順序輸出字符串為:France、British 、American、Japan、Germany#in clude#in cludeusing n amespace std;void mai n()stri ng s5=Germa ny, Jap a n,America n,Bri
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆浙江諸暨市牌頭中學(xué)化學(xué)高一下期末檢測(cè)試題含解析
- 激光消融技術(shù)臨床應(yīng)用探索-洞察及研究
- 界面納米結(jié)構(gòu)調(diào)控策略-洞察及研究
- 天津市靜海區(qū)獨(dú)流中學(xué)等四校2025屆高一下化學(xué)期末經(jīng)典模擬試題含解析
- 山西省太原市迎澤區(qū)太原實(shí)驗(yàn)中學(xué)2025年高一化學(xué)第二學(xué)期期末調(diào)研模擬試題含解析
- 礦機(jī)熱損傷修復(fù)-洞察及研究
- 公共財(cái)政與可持續(xù)發(fā)展路徑研究-洞察及研究
- 風(fēng)電生態(tài)影響分析-洞察及研究
- 生態(tài)風(fēng)險(xiǎn)評(píng)估-第5篇-洞察及研究
- 黃金與美元在新興市場(chǎng)國(guó)家中的投資組合-洞察闡釋
- 總承包管理技術(shù)方案
- 2024山西航空產(chǎn)業(yè)集團(tuán)有限公司招聘筆試參考題庫(kù)附帶答案詳解
- 大學(xué)生心理健康教育(周莉第四版) 課件 第1-5章 主動(dòng)掌控:打造健康生活-戀愛(ài)與性:理解親密關(guān)系
- 家庭教育學(xué)整套課件
- 營(yíng)銷人員財(cái)務(wù)必備之財(cái)務(wù)與營(yíng)銷結(jié)合
- 公安出入境培訓(xùn)課件
- 領(lǐng)袖涅盤培訓(xùn)
- 鍛壓設(shè)備安裝工程施工及驗(yàn)收規(guī)范
- 瑞安市工業(yè)固廢與污泥無(wú)害化處置及資源化利用項(xiàng)目階段性竣工環(huán)境保護(hù)驗(yàn)收?qǐng)?bào)告
- 檢驗(yàn)科對(duì)急診凝血標(biāo)本質(zhì)量不合格原因分析品管圈魚(yú)骨圖柏拉圖
- 中草藥的種植技術(shù)
評(píng)論
0/150
提交評(píng)論