面向?qū)ο驝++習題參考解答_第1頁
面向?qū)ο驝++習題參考解答_第2頁
面向?qū)ο驝++習題參考解答_第3頁
面向?qū)ο驝++習題參考解答_第4頁
面向?qū)ο驝++習題參考解答_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

面向?qū)ο驝++習題參考解答面向?qū)ο驝++習題參考解答面向?qū)ο驝++習題參考解答資料僅供參考文件編號:2022年4月面向?qū)ο驝++習題參考解答版本號:A修改號:1頁次:1.0審核:批準:發(fā)布日期:4-8定義一個Dog類,包含age,weight等屬性,以及對這些屬性操作的方法。實現(xiàn)并測試這個類。#include<iostream>usingnamespacestd;classDog{public: voidsetAge(inta) { age=a; } intgetAge() { returnage; } voidsetWeight(floatw) { weight=w; } floatgetWeight() { returnweight; }private: intage; floatweight;};voidmain(){ Dogd; (3); (30); cout<<"小狗:"<<()<<"歲,重"<<()<<"斤。"<<endl;}4-9設計并測試一個名為Rectangle的矩形類,其屬性為矩形的左下角與右上角兩個點的坐標,根據(jù)坐標能計算矩形的面積。#include<iostream>#include<>usingnamespacestd;classRectangle{public: Rectangle(intxx1,intyy1,intxx2,intyy2) { x1=xx1; y1=yy1; x2=xx2; y2=yy2; } floatgetArea() { returnfabs(x2-x1)*fabs(y2-y1); }private: intx1,y1; intx2,y2;};voidmain(){ Rectanglerec(0,0,10,20); cout<<"矩形面積:"<<()<<endl;}4-11定義并實現(xiàn)一個矩形類,有長、寬兩個屬性,由成員函數(shù)計算矩形的面積。#include<iostream>usingnamespacestd;classRectangle{public: Rectangle(intl,intw) { length=l; width=w; } floatgetArea() { returnlength*width; }private: intlength; intwidth;};voidmain(){ Rectanglerec(10,20); cout<<"矩形面積:"<<()<<endl;}4-13定義一個Circle類,有數(shù)據(jù)成員radius(半徑),成員函數(shù)getArea(),計算圓的面積,構(gòu)造一個Circle的對象進行測試。#include<iostream>usingnamespacestd;constfloatPI=;classCircle{public: Circle(floatr) { radius=r; } floatgetArea() { returnradius*PI*PI; }private: floatradius;};voidmain(){ Circlec; cout<<"圓的面積:"<<()<<endl;}4-20定義一個復數(shù)類Complex,使得下面的代碼能夠工作。Complexc1(3,5);Complexc2=;(c2);()

;<<endl; } ~Mammal() { cout<<"DesstructingMammal."<<endl; }};classDog:publicMammal{public: Dog() { cout<<"ConstructingDog."<<endl; } ~Dog() { cout<<"DesstructingDog."<<endl; }};voidmain(){ Dogd;}7-8定義一個Document類,有數(shù)據(jù)成員name,從Document派生出Book類,增加數(shù)據(jù)成員pageCount。#include<iostream>usingnamespacestd;classDocument{public: Document(char*n) { strcpy(name,n); } voidshow() { cout<<name; }private: charname[50];};classBook:publicDocument{public: Book(char*n,intp):Document(n),pageCount(p) { } voidshow() { cout<<"書名:"; Document::show(); cout<<endl<<"頁數(shù):"<<pageCount<<endl; }private: intpageCount;};voidmain(){ Bookbook("C++語言程序設計",529); ();}7-10定義一個Object類,有數(shù)據(jù)成員weight及相應的操作函數(shù),由此派生出Box類,增加數(shù)據(jù)成員height和width及相應的操作函數(shù),聲明一個Box對象,觀察構(gòu)造函數(shù)與析構(gòu)函數(shù)的調(diào)用順序。#include<iostream>usingnamespacestd;classObject{public: Object() { cout<<"ConstructingObject."<<endl; } ~Object() { cout<<"DestructingObject."<<endl; } voidsetWeight(intw) { weight=w; } intgetWeight() { returnweight; }private: intweight;};classBox:publicObject{public: Box() { cout<<"ConstructingBox."<<endl; } ~Box() { cout<<"DestructingBox."<<endl; } voidsetHeight(inth) { height=h; } intgetHeight() { returnheight; } voidsetWidth(intw) { width=w; } intgetWidth() { returnwidth; }private: intheight; intwidth;};voidmain(){ Boxbox; (5); (10); (8); cout<<"盒子:高"<<()<<",寬"<<()<<",重"<<()<<endl;}8-4#include<iostream>usingnamespacestd;classCounter{public: Counter(intii=0) { i=ii; } voidprint() { cout<<"i="<<i<<endl; } Counteroperator+(inta) { Countertemp; =i+a; returntemp; }private: inti;};voidmain(){ Counterc; c=c+3; (); c=c+5; ();}8-5#include<iostream>usingnamespacestd;classMammal{public: virtualvoidspeak() { cout<<"MammalSpeak!"<<endl; }};classDog:publicMammal{public: virtualvoidspeak() { cout<<"DogSpeak!"<<endl; }};voidmain(){ Dogd; (); Mammal*p=&d; p->speak();}8-7#include<iostream>usingnamespacestd;classPoint{public: Point(intx=0,inty=0) { X=x; Y=y; } voidprint() { cout<<"("<<X<<","<<Y<<")"<<endl; } Point&operator

溫馨提示

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

評論

0/150

提交評論