admin 管理员组

文章数量: 887053


2023年12月22日发(作者:自学编程需要多久的时间)

上机考试题

1.下面是一个整型数组类intArray的声明,请给出该类所有数据成员的类外定义。要求:

(1)能通过对“>>”、“<<”的重载实现数组元素的直接输入及其输出。输入时,第一次输入的值为数组长度,后面连续输入若干个数作为数组内容。输出时,首先提示该数组元素个数,然后依次输出该数组各元素;

(2)重载“=”、“+”、“-” 运算符使之能对两个数组类对象进行直接赋值、加减运算。

(3)写出主函数对该类进行测试。要求:

1)先构造包含10个数组元素的数组对象a,再调用流提取运算符重载函数实现a的元素初始化(元素值分别为1—10),输出a数组;

2)并利用a来构造数组b,输出数组b,并调用get函数获取b中下标为奇数的各元素值并输出,然后调用set函数将上述元素值乘以2,输出b数组;

3)构造一个包含5个元素的数组c,其值全为1,输出该数组,再调用ReSize函数将其大小重置为10,调用“=”重载函数将a的值复制给c,输出数组c;

4)分别将b+c,b-c的值送给数组d和数组e,并输出结果。

class intArray

{public:

intArray(int size);//构造函数

intArray(const intArray &x);//复制构造函数

~intArray();//析构函数

bool Set(int i, int elem);//设置第i个数组元素的值,设置成功返回true,失败返回false

bool Get(int i, int &elem); //获取第i个数组元素的值,获取成功返回true,失败返回false

int Length( ) const;//获取数组的长度

void ReSize ( int size ); //重置数组

intArray &operator=(const intArray &other); //赋值运算符“=”重载函数

intArray &operator+(const intArray &other); //加运算符“=”重载函数

intArray &operator-(const intArray &other) ; //减运算符“=”重载函数

friend istream & operator>>(istream &, intArray &); //数组的整体输入

friend ostream & operator<<(ostream &, intArray &); //数组的整体输出

private:

int *element; //指向动态数组的指针

int arraysize; //数组的当前长度

};

课后习题

1.分别定义教师类Teacher和干部类Cadre,采用多重继承的方式由这两个类派生出新类Teacher_Cadre(教师兼干部类)。要求:

(1)在两个基类中都包含姓名、年龄、性别、地址、电话数据成员。

(2)在Teacher类中还包含数据成员职称title,在Cadre类中还包含数据成员职务post,在Teacher_Cadre类中还包含数据成员工资wage。

(3)对两个基类中的姓名、年龄、性别、地址、电话数据成员用相同的名字,在访问这类数据成员时,指定作用域。

(4)在类体中声明成员函数,在类外定义成员函数。

(5)在派生类Teacher_Cadre的成员函数show中调用Teacher类中的display函数,输出姓名、年龄、性别、地址、电话,然后再用cout语句输出职务和工资。

2. 定义描述矩形的类Rectangle,其数据成员为矩形的中心坐标(X,Y)、长(Length)与宽(Width)。成员函数为计算矩形面积的函数Area()与构造函数。再定义描述圆的类Circle,其数据成员为圆的中心坐标(X,Y)与半径R,其成员函数为构造函数。再由矩形类与圆类多重派生出长方体类Cuboid,其数据成员为长方体的高(High)与体积(Volume)。成员函数为:构造函数,计算体积的函数Vol(),显示矩形坐标(X,Y)、长方体的长、宽、高与体积的函数Show()。主函数中用长方体类定义长方体对象cub,并赋初始值(10,10,10,20,30,30,10,10),最后显示长方体的矩形坐标(X,Y)与长方体的长、宽、高与体积。

3.编写一个程序实现小型公司的人员信息管理系统。该公司雇员(employee)包括经理(manager),技术人员(technician)、销售员(salesman)和销售部经理(salesmanager)。要求存储这些人员的姓名、编号、级别、当月薪水,计算月薪并显示全部信息。

程序要对所有人员有提升级别的功能。为简单起见,所有人员的初始级别均为1,然后进行升级,经理升为4级,技术人员和销售部经理升为3级,销售员仍为1级。

月薪计算办法是:经理拿固定月薪8000元,技术人员按每小时100元领取月薪,销售员按该当月销售额4%提成,销售经理既拿固定月工资也领取销售提成,固定月工资为5000元,销售提成为所管辖部门当月销售额的5‰。


本文标签: 数组 成员 函数