文档库 最新最全的文档下载
当前位置:文档库 › c++测试题

c++测试题

1、定义一个长方形类CRect,其数据成员包括颜色,左上角坐标,长和宽,其函数成员包

括有5个参数的构造函数,改变矩形的颜色(SetColor)和大小(SetSize),移动矩形到新的位置(Move)即移动左上角坐标,绘出矩形(Draw)即输出各数据成员,计算矩形的面积(Area)、计算矩形的周长(Perimeter)。并编写一个main函数对上述矩形类进行测试。

2、定义一个圆类CCircle,数据成员有颜色、圆心坐标、半径,成员函数有构造函数(有4

个参数)、改变圆心坐标函数(SetCenter)、圆的半径函数(SetRadius)及颜色的函数(SetColor)、输出各数据成员的函数(Draw)、计算圆的面积函数(Area)、周长函数(Perimeter)。

3、定义一个职员CStaff类,数据成员包括工号、姓名和工资及必要的成员函数。用静态方

法实现统计员工人数,并进行测试。

4、定义一个教师CTeacher类,数据成员包括教师编号、姓名和职称及必要的成员函数。用

静态方法实现统计教师人数,并进行测试。

5、定义一个学生CStudent类,数据成员包括姓名、年龄和专业及必要的成员函数。用静态

方法实现统计学生人数,并进行测试。

6、定义一个CStudent类,数据成员包括学号、姓名和C++成绩及必要的成员函数。编写一

个函数,计算平均成绩。在main函数中定义对象数组,调用该函数实现求平均成绩并输出。

7、定义一个CStudent类,数据成员包括学号、姓名和C++成绩及必要的成员函数。编写一

个函数,查找最高成绩。在main函数中定义对象数组,调用该函数实现求最高成绩并输出。

8、定义一个CStudent类,数据成员包括学号、姓名和C++成绩及必要的成员函数。编写一

个函数,查找最低成绩。在main函数中定义对象数组,调用该函数实现求最低成绩并输出。

9、定义一个CPoint类(考虑必要的数据成员与成员函数),用作矩形CRect类的两个内嵌

对象,分别表示左上角坐标与右下角坐标,实现求矩形的周长,并进行测试。

10、定义一个CPoint类(考虑必要的数据成员与成员函数),用作矩形CRect类的两个

内嵌对象,分别表示左上角坐标与右下角坐标,实现求矩形的面积,并进行测试。11、定义一个CPoint类(考虑必要的数据成员与成员函数),用作线段CLine类的两个

内嵌对象,分别表示起点与终点,实现求线段长度,并进行测试。

12、定义一个位置CLocation类,数据成员有位置坐标及相关必要成员函数。另定义矩

形CRect类,从CLocation类继承过来左上角坐标,新增长宽数据成员,考虑必要的成员函数以求矩形的周长,并进行测试。

13、定义一个位置CLocation类,数据成员有位置坐标及相关必要成员函数。另定义圆

CCircle类,从CLocation类继承过来圆心坐标,新增半径数据成员,考虑必要的成员函数以求圆的周长,并进行测试。

14、设计一个CShape类,包含一个属性颜色及相关必要成员函数,在此基础上派生出

矩形类CRect类。矩形类包括左上角坐标、长和宽等数据成员,考虑必要的成员函数以

求矩形的面积,并进行测试。

15、设计一个CShape类,包含一个属性颜色及相关必要成员函数,在此基础上派生出

圆类CCircle类。圆类包括圆心坐标、半径等数据成员,考虑必要的成员函数以求圆的面积,并进行测试。

16、定义一个CShape类,其中包含两个纯虚函数,分别用于计算面积和周长,派生出

CRect类,在派生类中实现基类的两个纯虚函数,考虑必要的数据成员。在main函数中进行测试。

17、定义一个CShape类,其中包含两个纯虚函数,分别用于计算面积和周长,派生出

CCircle类,在派生类中实现基类的两个纯虚函数,考虑必要的数据成员。在main函数中进行测试。

18、定义一个复数CComplex类,有数据成员实部real与虚部imag,实现加减乘三个

运算符的重载,在main函数中验证这三个运算符。

19、定义一个复数CComplex类,有数据成员实部real与虚部imag,实现除法和关系

运算符“==”的重载,在main函数中验证这两个运算符。

/*19参考答案*/

#include

using namespace std;

class CComplex

{

double real;

double imag;

public:

void Print();

CComplex(CComplex & c);

CComplex(double r=0,double i=0);

CComplex operator/(CComplex c);

bool operator==(CComplex c);

};

void CComplex::Print()

{

cout<<"("<

}

CComplex::CComplex(double r,double i)

{

real=r;

imag=i;

}

CComplex::CComplex(CComplex & c)

{

real=c.real;

imag=c.imag;

}

CComplex CComplex::operator/(CComplex c)

{

CComplex temp;

temp.real=(real*c.real+imag*c.imag)/(c.real*c.real+c.imag*c.imag);

temp.imag=(imag*c.real-real*c.imag)/(c.real*c.real+c.imag*c.imag);

return temp;

}

bool CComplex::operator==(CComplex c)

{

if(real==c.real && imag==c.imag)

return true;

else

return false;

}

void main()

{

CComplex a(5.9,2.7),b(2.5,3.4),c;

bool d;

a.Print();

b.Print();

c = b/a;

d = a==b;

cout<<"c=";

c.Print();

if(d == true)

cout << "复数a与b相等" << endl;

else

cout<< "复数a与b不相等" << endl;

}

相关文档
相关文档 最新文档