C++复习题练习_第1页
C++复习题练习_第2页
C++复习题练习_第3页
C++复习题练习_第4页
C++复习题练习_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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、 用面向对象的方法完成对三个数从大到小的排序并输出,并测试该类。#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,完成一个整形数的输入和输出,并测试该类。#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、 用面向对象的方法,完成圆类的定义#include<iostream>using namespace std;class Circlepublic:Circle(double i)r=i;void Printf()cout<<3.14*r*r<<endl;private:double r; /下面为数据测试,本题不需要void main()C

5、ircle B(4.0);B.Printf();5、 从键盘上输入一个3*3的整数矩阵,求其各行的平均值并输出,输出时保留位小数。#include<iostream>#include<iomanip>/小数定义文件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为抽象类,在其中定义一个公共的数据成员radius,此数值可以作为球体的半径和圆柱体底面圆半径;定义对radius进行读写的设置函数和获取函数,再定义求体积的纯虚函数volume和显示半径的虚函数print;(2)由Cube派生出球体类Sphere,其中有求体积的实际定义;(3)从Cube派生出square类,新定义length,并可以对其进行读写,再定义volume和print函数;(3)在测试程序中

7、分别创建一个Sphere类、square和一个Cylinder类的对象,通过调用相关成员函数显示其数据成员和体积信息。#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、 用面向对象方法从键盘输入12个数存入二维数组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<<"最大数为:"<<max<<" 行数为:"<<b<<&qu

11、ot; 列数为:"<<c<<endl;return 0;8、 用面向对象的方法设计求圆的面积、周长。要求:、写出类Circle(圆)的定义,成员函数setRadius设置半径、getArea求面积以及getPerimeter求周长;、在主函数中,从键盘输入半径,输出其面积和周长。#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个函数分别求当b2-4ac大于零、等于零、和小于零时的方程的根。要求从主函数输入a,b,c的值并输出结果。#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、 定义一个复数类Complex,形式如下:RealPart(实部)+ImgPart(虚部)*i 。定义含两个参数的构

15、造函数、一个Show( ) 函数(用以输出Real, ImgPart的值),另外作为成员函数重载的运算符”+”和“-”(功能是将此类二个对象相加、减)。#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、 设计一个基类,从基类派生圆柱,设计成员函数输出它们的面积和体积。定义一个座标类Vector2d, 二个数据成员为double型x, y 为

18、private属性。作为成员函数重载的运算苻”+”的功能是将此类二个对象的数据成员x和y对应相加。 #include<iostream>using namespace std;class Apublic:A()cout<<"经计算,圆柱的体积和面积分别为:"<<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<<"两个数

21、之和为:"<<c<<endl;12、 设计一个类Rect,要求如下:(1)该类中的私有数据成员length,width存放它的长和宽,并且设置它们的默认值是0。(2)通过成员函数设置其长和宽,并确保长和宽都在(0,50)范围之内。(3)实现求周长函数GetPerimeter()。(4)写出main函数,计算长和宽分别为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<<"数据有误!"<<endl;private:double length,width;void main()Rec A(9,5);A.GetPerimeter(); 13、 设计一个汽车类vehic

23、le,包含的数据成员有车轮个数wheels和车重weight。小车类car是它的派生类,其中包含载人数passenger_load。每个类都有相关数据的输出方法。在主程序中定义一个car类对象,对其车轮个数、车重、载人数进行设置并显示。#include<iostream>using namespace std;class vehiclepublic:vehicle(int j,int k)wheels=j;weight=k;cout<<"大车车轮数:"<<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<<"小车载人数为:"<<passenger_load<<endl;private:int passenger_load;void main() car A(30,6,10);14、 利用纯虚函数编写程序计算正方体、球体的表面积和体积。定义

25、抽象类Container作为公共基类,并在其中定义求表面积的纯虚函数surface()和体积的纯虚函数volume(),并在其中定义公共数据成员radius,此数据可作为球体半径、正方体边长。由此抽象类派生出要描述的两个类:即Cube、Sphere,在这两个类中都有表面积和体积的重定义版本。#include<iostream>using namespace std;class CCt /定义抽象类CContaineerprotected:double radius; /公共的数据成员radiusdouble area,volume; /表面积area,体积volumepublic: virtual void Area()=0; /求表面积的纯虚函数 virtual void Volume()=0; /求体积的纯虚函数 CCt (double a,double b,double c)radius=a;area=b;volume=c; /基类的构造函数;class Square:public CCt /派生类Squarepublic:Square(float a,double b,double c): CCt (a,b,c) void Area() /虚函数Area() area=6*rad

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论