版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、C+程序設(shè)計實驗(下)練習(xí)題一、 類與對象1. 定義一個名為Rectangle的矩形類:(1) 數(shù)據(jù)成員為矩形的長Len和寬Wid;(2) 定義有參構(gòu)造函數(shù);(3) 兩個成員函數(shù)Area()和Length(),分別計算并輸出矩形的面積和周長。(4) 定義主函數(shù),創(chuàng)建一個Rectangle類對象:長為5,寬為2。通過調(diào)用成員函數(shù)輸出該矩形的面積和周長。2. 日期類。定義一個日期類Cdate屬性:一個包括年(year)、月(month)和日(day)三個整型私有數(shù)據(jù)成員。方法:定義成員函數(shù)Setdate()設(shè)置日期、成員函數(shù)Isleapyear()判斷是否為閏年、成員函數(shù)Print()輸出日期。定
2、義主函數(shù),對上述成員函數(shù)進行測試。void main() Cdate d1; /定義對象 d1.Setdate(1999,12,30); /通過對象訪問成員 if (d1. Isleapyear() cout“閏年”; else cout“非閏年!”; d1.Print(); 3. 員工問題1定義一個日期類Date(1)私有數(shù)據(jù)成員包括:年(int year)、月(int month)、日(int day);(2)定義構(gòu)造函數(shù):Date(int _year, int _month, int _day),對數(shù)據(jù)成員進行初始化;(3)定義成員函數(shù)void print() const,打印日期信息(
3、打印格式:年/月/日)。2定義一個員工類Employee(1)私有數(shù)據(jù)成員包括:姓名(char *name)、出生日期(Date birth)、月工資(double salary);(2)定義構(gòu)造函數(shù):Employee(char *_name, int year, int month, int day, double _salary),對數(shù)據(jù)成員進行初始化;(3)定義析構(gòu)函數(shù):Employee(),釋放堆空間;(4)定義成員函數(shù)double computSalary(double bonus) const,計算員工年薪(計算公式:12月工資+年終獎),其中參數(shù)bonus為年終獎;(5)定義成員
4、函數(shù)void print() const,打印員工信息,打印格式如下圖所示。姓名:Hennessy出生日期:1988/11/20月工資:60003定義主函數(shù),完成員工類的所有測試。4. 計算類1、定義一個名稱為Calcuator計算類,實現(xiàn)加減乘除四則運算,要求如下:(1)定義二個double類型的私有成員變量operand1和operand2;(2)定義公有無參構(gòu)造函數(shù)operation(),將成員變量均初始化為0;(3)定義公有有參構(gòu)造函數(shù)operation(double op1,double op2),對成員變量初始化;(4)定義公有成員函數(shù)getOperand1()和getOperan
5、d2()分別返回二個運算數(shù);(5)定義公有成員函數(shù)setOperand1(double newOp1)和setOperand2(double newOp2)以修改成員變量operator1,operator2的值;(6)定義公有成員函數(shù)Addition()返回二個操作數(shù)的和;(7)定義公有成員函數(shù)Subtraction()返回二個操作數(shù)的差;(8)定義公有成員函數(shù)Multiplication()返回二個操作數(shù)的乘積;(9)定義公有成員函數(shù)Division()返回二個操作數(shù)的商,注意分母為0要進行判斷;2、在主函數(shù)中對上述類測試,要求對類中定義的功能全部測試到,代碼保存在test1.cpp文件中
6、5. 設(shè)計長方形類CRectangle(1) 數(shù)據(jù)成員:長double l、寬double w;(2) 無參構(gòu)造函數(shù)將數(shù)據(jù)成員初始化為(2,1);(3) 有參構(gòu)造函數(shù)利用參數(shù)對數(shù)據(jù)成員初始化;(4) 提供拷貝構(gòu)造函數(shù);(5) 成員函數(shù)area( ),返回長方形的面積;(6) 成員函數(shù) perimeter( ),返回長方形的周長;(7) 成員函數(shù)void display( ),輸出長方形的長和寬;(8) 定義主函數(shù),完成類的測試。6. 設(shè)計圓類CCircle(1) 數(shù)據(jù)成員:半徑double radius;(2) 無參構(gòu)造函數(shù)將數(shù)據(jù)成員初始化為(0);(3) 有參構(gòu)造函數(shù)利用參數(shù)對數(shù)據(jù)成員初始化
7、;(4) 提供拷貝構(gòu)造函數(shù);(5) 成員函數(shù)area( ),返回圓的面積;(6) 成員函數(shù) perimeter( ),返回圓的周長;(7) 成員函數(shù)void display( ),輸出圓的半徑;(8) 定義主函數(shù),完成類的測試。7. 字符串類聲明一個類String1,其數(shù)據(jù)成員為char head100,構(gòu)造函數(shù)String(char *Head)實現(xiàn)head的初始化,成員函數(shù)void Reverse()實現(xiàn)head內(nèi)字符串的逆序存放,成員函數(shù)void Print()實現(xiàn)head內(nèi)字符串的輸出。二、 繼承與多態(tài)1. 創(chuàng)建由Point類對象派生的Circle類定義Point 類:(1)數(shù)據(jù)成員:
8、x、y,分別對應(yīng)橫、縱坐標(biāo);(2)有參構(gòu)造函數(shù):利用參數(shù)對數(shù)據(jù)成員賦值;(3) 函數(shù)Getx: 獲取點類的橫坐標(biāo)值;(4)函數(shù)Gety:獲取點類的縱坐標(biāo)值;定義圓類Circle,公有繼承Point類:(5)新增數(shù)據(jù)成員:半徑r; (6)構(gòu)造函數(shù):Circle(float X,float Y,float R):Point(X,Y) 給點類的數(shù)據(jù)成員以及圓類的半徑賦值;(7)void Display();顯示該圓的圓心坐標(biāo)和半徑;(8)主函數(shù)參考代碼:int main()float x,y,r;coutxy;coutr; Circle c(x,y,r);c.Display();return 0;2
9、. 圖形繼承問題a) 定義類A /描述圓:(x,y)為圓心,r為半徑(1)定義私有數(shù)據(jù)成員float x,y,r;(2)定義公有有參構(gòu)造函數(shù),對保護數(shù)據(jù)成員賦值;(3)定義公有成員函數(shù)AccessX、AccessY、AccessR返回x、y、z的值(4)定義公有型成員函數(shù)Area().返回圓的面積。b) 定義類B / 描述物體的高(1)定義私有型成員變量 High;(1)定義公有型帶參的構(gòu)造函數(shù),完成對物體高度的賦值;(2)定義返回類型為float的成員函數(shù),返回物體的高;c) 定義派生類圓柱體類C,公有繼承A類、私有繼承B類(1)定義私有成員float Volume為圓柱體的體積;(2)定義
10、公有構(gòu)造函數(shù)C(float a,float b,float c,float d):A(a,b,c),B(d)給數(shù)據(jù)成員賦值并計算援圓柱體的體積;(3)定義返回類型為float的成員函數(shù),返回物體的體積;d)定義測試類,完成上面類的所有測試。3. 圖形繼承問題1定義一個正方形基類Square(1)保護數(shù)據(jù)成員包括:邊長(double width);(2)定義構(gòu)造函數(shù):Square(double _width),對保護數(shù)據(jù)成員進行初始化;(3)定義一個虛成員函數(shù)virtual double area() const; 實現(xiàn)正方形面積的計算。2定義一個派生類立方體類Cube,公有繼承Square類(
11、1)定義構(gòu)造函數(shù):Cube(double _width): Square(_width),對基類的數(shù)據(jù)成員進行初始化;(2)重新實現(xiàn)基類Square的虛函數(shù)area(),完成對立方體的表面積的計算;(3)定義派生類的成員函數(shù)double volume() const,完成對立方體體積的計算。3定義一個派生類長方形類Rectangle,公有繼承Square類(1)定義保護數(shù)據(jù)成員:長方形的長(double length);(2)定義構(gòu)造函數(shù):Rectangle(double _width, double _length): Square(_width),分別對基類和派生類的數(shù)據(jù)成員進行初始化;(
12、3)重新實現(xiàn)基類Square的虛函數(shù)area(),完成對長方形面積的計算;(4)定義派生類的成員函數(shù)double perimeter() const,完成對長方形周長的計算。4通過以下測試程序,完成上述基類與派生類的測試。int main()Cube cube(10); Rectangle rect(10, 20); Square *base = &cube;cout“正方體表面積:”area()endl;cout“正方體體積:”cube.volume()endl;base = ▭cout“長方形面積:”area()endl;cout“長方形周長:”rect.perimeter()s
13、etOperator1(1);b-setOperator2(2);coutgetResult()。為了比較二個復(fù)數(shù),假定復(fù)數(shù)的大小只由長度(sqrt(real*real+imagle*image))來決定。所以要求如下:(1)復(fù)數(shù)類Complex定義一個成員函數(shù)getLength(),其返回值由上述長度公式計算,返回值類型為double.(2)復(fù)數(shù)類Complex定義一個成員函數(shù) operator ( Complex c),其返回值類型為bool.2、在主函數(shù)中分別用double和上述定義的Complex類型的數(shù)據(jù)來測試該模板,并將代碼保存于test4.cpp中。5. 排序函數(shù)模板(templ
14、ate)編寫一個排序算法的函數(shù)模板,可以對char, int, long, float, double類型的數(shù)組進行排序,排序方法不限,并在main函數(shù)中測試。五、 文件1. 文件操作將100以內(nèi)能被3整除的數(shù),十個一行地寫入d:abc.txt文件中。2. 文件操作定義整型數(shù)組含有6個整數(shù),并對數(shù)組初始化。(1)將數(shù)組中的數(shù)據(jù)寫入到D盤文件夾abc.txt文件中;(2)讀出abc.txt文件中的數(shù)據(jù),并顯示出來。3. 文件操作1、將復(fù)數(shù)類復(fù)制到本題對應(yīng)的test5.cpp中,將Complex類中的成員函數(shù)display()改寫為可以將該復(fù)數(shù)輸出到任意指定的文件中去,要求如下:(1)將成員函數(shù)display()聲明為:void Complex:display(ostream oo)(2)在當(dāng)前目錄下新建文本文檔abc.txt,并將復(fù)數(shù)的結(jié)果即可以輸出到屏幕上,也可以輸出到abc.txt上。2、在主函數(shù)中對上述類測試,要求對類中定義的功能全部測試到,代碼保存在test1.cpp文件中。4. 文件操作定義一個包含10個int型數(shù)據(jù)的整型數(shù)組,并用099之間的隨機數(shù)對數(shù)組元素進行初始化。完成以下文
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度智能房產(chǎn)交易平臺參展合作合同范本3篇
- 二零二五年度城市更新項目承包商履約保函服務(wù)合同3篇
- 二零二五年度屋頂隔熱保溫維修服務(wù)協(xié)議3篇
- 二零二五年度數(shù)據(jù)中心搬遷補償及環(huán)保協(xié)議3篇
- 幼兒園音樂活動方案范文(2篇)
- 項目立項管理制度(2篇)
- 中班感恩節(jié)活動策劃方案例文(2篇)
- 2025年度安全生產(chǎn)應(yīng)急救援物資儲備合同6篇
- 2025年振興中華從我做起演講稿大學(xué)生范文(2篇)
- 2025年冀教版七年級語文上冊階段測試試卷含答案
- 2024年關(guān)愛留守兒童工作總結(jié)
- GB/T 45092-2024電解水制氫用電極性能測試與評價
- 《算術(shù)平方根》課件
- 2024版房屋買賣合同范例:房屋質(zhì)量保證條款3篇
- 網(wǎng)絡(luò)加速器提供商服務(wù)合同
- 轉(zhuǎn)讓押金協(xié)議合同范例
- 《工業(yè)用二氟草酸硼酸鋰》
- 電力各種材料重量表總
- 關(guān)鍵施工技術(shù)、工藝及工程項目實施的重點、難點和解決方案資料
- 電纜壓降計算用表格
- 淺談境外工程項目勞動用工的薪酬管理
評論
0/150
提交評論