1.设计一个类Rect,要求如下:
(1)该类中的私有数据成员length,width存放它的长和宽,并且设置它们的默认值是0。
(2)通过成员函数设置其长和宽,并确保长和宽都在(0,50)范围之内。
(3)实现求周长函数GetPerimeter()。
2.定义一个二维座标类Vector2d, 二个数据成员为double型x, y 为private属性。
定义代二个参数的构造函数和一个Show( ) 函数用以输出x, y的值, 另外作为成员函数重载的运算苻”+”的功能是将此类二个对象的数据成员x和y对应相加。
这些成员函数的属性均为public. 请用C++编写此程序, 并编写测试程序进行测试
3. 设计一个立方体类Box,它能计算并输出立方体的体积和表面积。
4. 编程实现抽象类Employee,派生类Manger和HourlyWorker,Employee有数据成员姓名name和工号ID,Manger有数据成员sal,代表经理的月工资,HourlyWorker有wage和hours,分别代表钟点工的每小时的工资数和月工作时数,定义的所有类中必须包含构造函数、析构函数、修改和获取所有数据成员的成员函数,以及虚函数来计算职员的工资、输出职员的姓名name和工号ID。
5. 编写一个函数模板,用于求参数的绝对值,并编写测试程序进行测试。
函数模板声明如下:
template <class Type>
Type Abs(Type tV ar)
6.定义一个复数类CComplex,定义带有2个参数(其中一个为缺省参数)的构造函数,显示复数值的函数Show(),重载“+”运算符(用成员函数实现),并编写测试程序进行测试。
7.(1)下面程序的打印结果是____________.
#incude
int f(int);
int main()
{ int i;
for(i=0;i<5;i++)
cout<<F(I)<<"";
return0;
}
int f(int i)
{ static int k=1;
for(;i>0;i- -)
k + = i;
return k;
}
(2)在用class定义一个类时,数据成员和成员函数的默认访问权限是_______.
(3)含有纯虚函数的类称为___________.
(4)已知intDBL(int n){return n + n;}和longDBL(long n){return n+n;}
是一个函数模板的两个实例,则该函数模板的定义是___________.
(5)在下面程序的横线处填上适当的语句,使该程序执行结果为10.
#include
class MyClass
{ public:
MyClass(int a){x = a;}
______________________________________ //取x值
private
int x;
};
int main()
{ MyClass my(10);
cout<<MY.GETNUM()<<ENDL;
return 0;
}
8.定义一个抽象类CShape,它有一个纯虚函数GetLength();派生出四边型类CSquare和圆类CCircle,在派生类中重载函数GetLength(),用于求图形的周长,编写测试程序进行测试。
9. 设计一个类DateInfo,要求其满足下述要求:
(1)要求有一个无参的构造函数,其初始的年、月、日分别为:2010,8,8。
(2)要求有一个带参数的构造函数,其参数分别对应年、月、日。
(3)要求用一个成员函数实现日期的设置。
(4)要求用一个成员函数实现输出日期。
请用C++编写此程序, 并编写测试程序进行测试。
10.定义一个复数类Complex, 二个数据成员为double型r, i 为private属性。
定义带二个参数的构造函数和一个Show( ) 函数用以输出r, i的值, 另外作为成员函数重载的运算苻”+”的功能是将此类二个对象的数据成员r和i对应相加。
这些成员函数的属性均为public. 请用C++编写此程序, 并编写测试程序进行测试。