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; }