{ return( length*width ); } float getlength() { return length; } float getwidth() { return width; } private:
float length; };
class rectangular:public rectangle { public:
rectangular( float l,float w,float h ) : rectangle( l,w ) { height = h; }
float getheight() { return height; } };
void main()
{ rectangle obj1( 2,8 ); }
rectangular obj2( 3,4,5 );
cout << \<< obj1.getlength() << '\\t' << \<< obj1.getwidth() << endl; cout << \ cout << '\\t'<< \ cout << \ float volume() { return area() *height; } float height; private:
float width;
cout << \
2. 假设某销售公司有销售经理和销售员工,月工资的计算办法是:销售经理的固定月
薪为8000元并提取销售额的5/1000作为工资;销售员工只提取销售额的5/1000作为工资。编一程序,定义一个基类Employee,它包含三个数据成员number、name和salary,以及用于输入编号和姓名的构造函数。由Employee类派生Salesman类,再由Salesman类派生Salesmanager类。Salesman类包含两个新数据成员 commrate和sales,还包含用于输入销售额并计算销售员工工资的成员函数pay()和用于输出的成员函数print()。Salesmanager类包含新数据成员 monthlypay,及用于输入销售额并计算销售经理工资的成员函数pay()、用于输出的成员函数print()。在main函数中,测试你的类结构,求若干个不同员工的工资。
【解答】
#include
employee() {
cout << \编号:\ cout <<\姓名:\
salary = 0; } protected:
char number[5]; };
class salesman: public employee { public: endl;
} protected: double commrate; double sales; };
class salesmanager: public salesman { public:
salesmanager() {
monthlypay = 8000;
commrate = 0.005;
}
salesman(){ commrate = 0.005; } void pay()
cout << name << \本月销售额:\ cin >> sales; char name[10]; double salary;
{
salary = sales*commrate; }
void print() {
cout << \销售员 :\编号:\本月工资:\
void pay()
{
cout << name <<\本月部门销售额:\
cin >> sales;
salary = monthlypay + sales*commrate;
}
void print() endl;
{
cout << \销售经理 :\编号:\本月工资:\
};
} private:
float monthlypay;
void main() { }
salesman obj1; obj1.pay(); obj1.print(); obj2.pay(); obj2.print();
salesmanager obj2;
3.试写出所能想到的所有形状(包括二维的和三维的),生成一个形状层次类结构。生成的层次结构以Shape作为基类,并由此派生出TwoDimShape类和ThreeDimShape类。它们的派生类是不同形状类。定义层次结构中的每一个类,并用main函数进行测试。 【解答】 略。
4.为第6章习题6.4第2和第3小题的Integer和Real类定义一个派生类IntReal: class IneReal : public Integer, public Real ;
使其可以进行 +,-,*,/,= 左右操作数类型不同的相容运算,并符合原有运算类型转换的语义规则。 【答案】 略。 5.把第6章习题6.4第4题定义的Vector类定义为IneReal的派生类,对类成员做必要的修改。即有:
class Vector : public IntReal; 【答案】 略。
6.定义Vector类的派生类Matrix
class Matrix : public Vector;
实现矩阵的 +,-,*,= ,>>,<< 运算。类体系结构如图7.12所示。用主函数验证类体系的正确性。 【答案】 略。
图7.12 计数器类体系
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库习题7及其解答(第二版)(2)在线全文阅读。
相关推荐: