C++復(fù)習(xí)題練習(xí)_第1頁
C++復(fù)習(xí)題練習(xí)_第2頁
C++復(fù)習(xí)題練習(xí)_第3頁
C++復(fù)習(xí)題練習(xí)_第4頁
C++復(fù)習(xí)題練習(xí)_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1、 編寫一個類LEI,打印其私有成員變量a的值,并測試該類。#include<iostream>using namespace std;class LEIpublic:LEI(int i)a=i;void get()cout<<a<<endl;private:int a;void main()LEI A(10);A.get();2、 用面向?qū)ο蟮姆椒ㄍ瓿蓪θ齻€數(shù)從大到小的排序并輸出,并測試該類。#include<iostream>using namespace std;class Sortpublic:Sort();Sort(int i,int

2、 j,int k)a=i;b=j;c=k;void max(int a,int b,int c) if(a>=b&&b>=c)cout<<a<<b<<c<<endl;if(a>c&&c>b)cout<<a<<c<<b<<endl;if(b>c&&c>a)cout<<b<<c<<a<<endl;if(b>a&&a>c)cout<<b

3、<<a<<c<<endl;if(c>a&&a>b)cout<<c<<a<<b<<endl;else cout<<c<<b<<a<<endl;private:int a,b,c;void main()Sort B;B.max(3,4,5);3、 定義類lei,完成一個整形數(shù)的輸入和輸出,并測試該類。#include<iostream>using namespace std;class IOpublic:IO();void in

4、put()cin>>a;void output()cout<<a<<endl;private:int a;void main()IO A;A.input();A.output();4、 用面向?qū)ο蟮姆椒?,完成圓類的定義#include<iostream>using namespace std;class Circlepublic:Circle(double i)r=i;void Printf()cout<<3.14*r*r<<endl;private:double r; /下面為數(shù)據(jù)測試,本題不需要void main()C

5、ircle B(4.0);B.Printf();5、 從鍵盤上輸入一個3*3的整數(shù)矩陣,求其各行的平均值并輸出,輸出時保留位小數(shù)。#include<iostream>#include<iomanip>/小數(shù)定義文件using namespace std;int main()int a33, i, j;double ave, b3;for(i=0; i<3; +i)for(j=0; j<3; +j)cin>>aij;ave=(ai0+ai1+ai2)/3.0;bi=ave;for(i=0; i<3; i+)cout<<setpre

6、cision(3)<<fixed<<bi<<endl;return 0;6、 編一個程序計算球體、正方體和圓柱體的體積。要求:(1)抽象出一個公共基類Cube為抽象類,在其中定義一個公共的數(shù)據(jù)成員radius,此數(shù)值可以作為球體的半徑和圓柱體底面圓半徑;定義對radius進行讀寫的設(shè)置函數(shù)和獲取函數(shù),再定義求體積的純虛函數(shù)volume和顯示半徑的虛函數(shù)print;(2)由Cube派生出球體類Sphere,其中有求體積的實際定義;(3)從Cube派生出square類,新定義length,并可以對其進行讀寫,再定義volume和print函數(shù);(3)在測試程序中

7、分別創(chuàng)建一個Sphere類、square和一個Cylinder類的對象,通過調(diào)用相關(guān)成員函數(shù)顯示其數(shù)據(jù)成員和體積信息。#include<iostream>using namespace std;class Cubepublic:Cube();Cube(double i)r=i;cout<<"半徑為:"<<r<<endl;private:double r;class Sphere:public Cubepublic:Sphere();Sphere(double i):Cube(i)r=i;void volume()cout<

8、;<"球體的體積為:"<<(4*3.14*r*r*r)/3.0<<endl;private:double r;class square:public Cubepublic:square();square(double i):Cube(i)length=i;void volume() V=length*length*length;void printf()cout<<"正方體的體積為:"<<V<<endl;private:double length,V;class Cylinder:publ

9、ic Cubepublic:Cylinder(double i):Cube(i) r=i;void volume() V2=3.14*r*r*r;void printf()cout<<"圓柱體的體積為:"<<V2<<endl;private:double r,V2;void main()Sphere A(3.4);A.volume();square B(3.4);B.volume();B.printf();Cylinder C(3.4);C.volume();C.printf();7、 用面向?qū)ο蠓椒◤逆I盤輸入12個數(shù)存入二維數(shù)組a34中

10、,編寫程序求出最大元素的值及它所在的行號和列號。#include<iostream>using namespace std;int main()int a34, i, j,max,b,c;for(i=0;i<3;+i)for(j=0;j<4;+j)cin>>aij;if(i=0&&j=0)max=a00;if(aij>max)max=aij; b=i+1; c=j+1;cout<<"最大數(shù)為:"<<max<<" 行數(shù)為:"<<b<<&qu

11、ot; 列數(shù)為:"<<c<<endl;return 0;8、 用面向?qū)ο蟮姆椒ㄔO(shè)計求圓的面積、周長。要求:、寫出類Circle(圓)的定義,成員函數(shù)setRadius設(shè)置半徑、getArea求面積以及getPerimeter求周長;、在主函數(shù)中,從鍵盤輸入半徑,輸出其面積和周長。#include<iostream>using namespace std;class Circlepublic:Circle();void setRadius()cin>>r;void getArea()cout<<"圓的面積是:&quo

12、t;<<3.14*r*r<<endl;void getPerimeter()cout<<"圓的周長是:"<<2*3.14*r<<endl;private:double r;void main()Circle A;A.setRadius();A.getArea();A.getPerimeter();9、 編寫一個求方程ax2 + bx + c = 0的根 的程序,用3個函數(shù)分別求當b2-4ac大于零、等于零、和小于零時的方程的根。要求從主函數(shù)輸入a,b,c的值并輸出結(jié)果。#include<iostream>

13、;#include<math.h>using namespace std;void X(double i,double j,double k)cout<<"方程的根是:"<<(-j+sqrt(j*j-4*i*k)/(2*i)<<"和"<<(-j-sqrt(j*j-4*i*k)/(2*i)<<endl;void X1(double i,double j,double k)cout<<"方程的根是:"<<-j/(2*i)<<endl

14、;void X2(double i,double j,double k)cout<<"方程無解!"<<endl;void main()double a,b,c;cout<<"請輸入a,b,c的值:"cin>>a>>b>>c;if(b*b-4*a*c>0)X(a,b,c);else if(b*b-4*a*c=0)X1(a,b,c);elseX2(a,b,c);10、 定義一個復(fù)數(shù)類Complex,形式如下:RealPart(實部)+ImgPart(虛部)*i 。定義含兩個參數(shù)的構(gòu)

15、造函數(shù)、一個Show( ) 函數(shù)(用以輸出Real, ImgPart的值),另外作為成員函數(shù)重載的運算符”+”和“-”(功能是將此類二個對象相加、減)。#include<iostream>using namespace std;class Complexpublic:Complex()RealPart=0;ImgPart=0;Complex(double a,double b)RealPart=a;ImgPart=b;void show()cout<<"實部為:"<<RealPart<<" 虛部為:"<

16、;<ImgPart<<endl; Complex operator+(Complex &);friend ostream& operator<<(ostream&, Complex&);private:double RealPart,ImgPart;Complex Complex:operator+(Complex &n)Complex c;c.RealPart=RealPart+n.RealPart;c.ImgPart=ImgPart+n.ImgPart;return c;ostream& operator<

17、<(ostream& output,Complex& c)output<<c.RealPart<<"+"<<c.ImgPart<<"i"<<endl;return output;void main()Complex A(2.5,3.5),B(2,5),k;k=A+B;A.show();B.show();cout<<k;11、 設(shè)計一個基類,從基類派生圓柱,設(shè)計成員函數(shù)輸出它們的面積和體積。定義一個座標類Vector2d, 二個數(shù)據(jù)成員為double型x, y 為

18、private屬性。作為成員函數(shù)重載的運算苻”+”的功能是將此類二個對象的數(shù)據(jù)成員x和y對應(yīng)相加。 #include<iostream>using namespace std;class Apublic:A()cout<<"經(jīng)計算,圓柱的體積和面積分別為:"<<endl;class Cylinder:public Apublic:Cylinder(double i,double j)r=i;high=j;void Area()cout<<3.14*r*r+2*3.14*r*high<<"和"vo

19、id V()cout<<3.14*r*r*high<<endl;private:double r, high;class Vector2dpublic:Vector2d()a=0;Vector2d(double i)a=i;void show()cout<<a<<" "Vector2d operator+(Vector2d &);friend ostream& operator<<(ostream&,Vector2d&);private:double a;Vector2d Vecto

20、r2d:operator+(Vector2d &n)Vector2d c;c.a=a+n.a;return c;ostream& operator<<(ostream& output,Vector2d& c)output<<c.a<<endl;return output;void main()Cylinder s(1.0,1.0);s.Area();s.V();Vector2d p(10),q(8),c;p.show();q.show();c=p+q;cout<<endl;cout<<"兩個數(shù)

21、之和為:"<<c<<endl;12、 設(shè)計一個類Rect,要求如下:(1)該類中的私有數(shù)據(jù)成員length,width存放它的長和寬,并且設(shè)置它們的默認值是0。(2)通過成員函數(shù)設(shè)置其長和寬,并確保長和寬都在(0,50)范圍之內(nèi)。(3)實現(xiàn)求周長函數(shù)GetPerimeter()。(4)寫出main函數(shù),計算長和寬分別為5和9的周長。#include<iostream>using namespace std;class Recpublic:Rec()length=0;width=0;Rec(double i,double j)length=i;wid

22、th=j;void GetPerimeter()if(length>0&&length<50&&width>0&&width<50)cout<<"長方形的周長是:"<<2*length*width<<endl;else cout<<"數(shù)據(jù)有誤!"<<endl;private:double length,width;void main()Rec A(9,5);A.GetPerimeter(); 13、 設(shè)計一個汽車類vehic

23、le,包含的數(shù)據(jù)成員有車輪個數(shù)wheels和車重weight。小車類car是它的派生類,其中包含載人數(shù)passenger_load。每個類都有相關(guān)數(shù)據(jù)的輸出方法。在主程序中定義一個car類對象,對其車輪個數(shù)、車重、載人數(shù)進行設(shè)置并顯示。#include<iostream>using namespace std;class vehiclepublic:vehicle(int j,int k)wheels=j;weight=k;cout<<"大車車輪數(shù):"<<wheels<<" 重量是:"<<wei

24、ght<<"噸"<<endl; private:int wheels,weight;class car:public vehiclepublic: car(int i,int j,int k):vehicle(j,k)passenger_load=i;cout<<"小車載人數(shù)為:"<<passenger_load<<endl;private:int passenger_load;void main() car A(30,6,10);14、 利用純虛函數(shù)編寫程序計算正方體、球體的表面積和體積。定義

25、抽象類Container作為公共基類,并在其中定義求表面積的純虛函數(shù)surface()和體積的純虛函數(shù)volume(),并在其中定義公共數(shù)據(jù)成員radius,此數(shù)據(jù)可作為球體半徑、正方體邊長。由此抽象類派生出要描述的兩個類:即Cube、Sphere,在這兩個類中都有表面積和體積的重定義版本。#include<iostream>using namespace std;class CCt /定義抽象類CContaineerprotected:double radius; /公共的數(shù)據(jù)成員radiusdouble area,volume; /表面積area,體積volumepublic: virtual void Area()=0; /求表面積的純虛函數(shù) virtual void Volume()=0; /求體積的純虛函數(shù) CCt (double a,double b,double c)radius=a;area=b;volume=c; /基類的構(gòu)造函數(shù);class Square:public CCt /派生類Squarepublic:Square(float a,double b,double c): CCt (a,b,c) void Area() /虛函數(shù)Area() area=6*rad

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論