qt(1) C++

【基本题1】写一个Rectangle类,抽象自己的数据和成员函数.

      要求:(1) 写出构造函数和析构函数
                 (2) 用一个静态数据成员记录所创建的矩形的个数
                 (3) 写出GetArea()获得矩形的面积
                 (4) 明确哪些函数需要被设计为const成员函数
                 (5) 写出一个全局函数获得N个矩形的面积

                  int GetAllRectArea( Rectangle* pRectArray, int count );


【基本题2】设计一个日期类Date,包括年、月、日等私有数据成员。

       要求实现日期的基本运算,如一日期加上天数、一日期减去天数、两日期相差的天数等。
       在Date类中设计如下重载运算符函数:
         Date operator+(int days); 返回一日期加一天数得到的日期
         Date operator-(int days); 返回一日期减去天数得到的日期
         int operator-(Date &b); 返回两日期相差的天数
     在实现这些重载运算符函数调用以下私有成员函数:
        leap(int); 判断指定的年份是否为闰年
        dton(Date &); 将指定日期转换为从0年0月0日起的天数
        ntod(int); 将指定的0年0月0日起的天数转换为对应的日期


【基本题3】设计一个虚基类base,包含姓名和年龄私有数据成员以及相关的成员函数,

由它派生出领导类leader,包含职务和部门私有数据成员以及相关的成员函数。

再由base派 生出工程师类engineer,包含职称和专业私有数据成员以及相关的成员函数。

然后由leader和engineer类派生出主任工程师类chairman。采用一些数据进行测试。


【基本题4】 Shape类是一个表示形状的抽象类,其中GetArea()为求图形面积的纯虚函数。

从Shape类派生三角形类(Triangle)、矩形类(Rectangle),椭圆类(Ellipse)

并重写GetArea()函数完成求面积的功能。


GetTotalArea(…)则是一个用以求不同形状的图形面积总和的函数,完成该函数。
写出main函数:创建多个三角形或矩形或椭圆对象(个数不定,由用户的输入指定),

并调用GetTotalArea()函数求出它们的总面积。(注意使用多文件结构)
提示:
1. GetTotalArea(…)应设计成全局函数


基本题5定义了一个基类Animal, 它包含两个数据成员动物名称(string类型)和重量,

还包含一个公共的虚拟成员函数who() 和一个纯虚函数sound(),公共的虚拟成员函数who(),返回一个string对象,

在派生类中sound()应返回一个string对象,表示该动物发出的声音。

把Animal类作为一个公共基类,派生三个子类Sheep,Dog和Cow,在每个类中实现sound()函数。

定义一个类Zoo,它至多可以在一个数组中存储50种不同类型的动物(使用指针数组)。

编写一个main()函数,创建给定数量的派生类对象的随机序列,在Zoo对象中存储这些对象的指针。

使用Zoo对象的一个成员函数,输出Zoo中每个动物的信息,以及每个动物发出的声音。(注意使用多文件结构)


基本题6编写类String 的构造函数、析构函数和赋值函数,已知类String 的原型为:
class String
{
public:
String(const char *str = NULL); // 普通构造函数
String(const String &other); // 拷贝构造函数
~ String(void); // 析构函数
String & operate =(const String &other); // 赋值函数
private:
char *m_data; // 用于保存字符串
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值