定义商品类及其多层的派生类。以商品类为基类。第一层派生出服装类、家电类、车辆类。第二层派生出衬衣类、外衣类、帽子类、鞋子类;空调类、电视类、音响类;自行车类、轿车类、摩托车类。要求给出基本属性和派生过程中增加的属性。
解:按题意没有操作,所以只列出数据成员,也不再检验
#include <iostream>
using namespace std;
class Commodity{
double price; //价格
char name[20]; //商品名
char manufacturer[20]; //生产厂家
int items; //数量
};
class Clothing:public Commodity{ //服装类
char texture[20]; //材料质地
};
class Electric_Appliance:public Commodity{ //家电类
enum {Black,White}type; //黑白家电
};
class Vehicle:public Commodity{ //车辆类
int wheel_num; //车轮数量
};
class Shirt:public Clothing{ //衬衣类
enum {Formal,Casual}Style; //式样:正式、休闲
};
class Garment:public Clothing{ //外衣类
enum {Jacket,Coat}Style; //式样:夹克、外套
};
class Hat:public Clothing{ //帽子类;
enum {Winter,Summer,Spring_Autumn}Style;//季节风格
};
class Shoes:public Clothing{ //鞋子类
enum {Winter,Summer,Spring_Autumn}Style;//季节风格
};
class Air_Cindition:public Electric_Appliance{//空调
bool warm_cool; //是否冷暖
float power; //功率
};
class Television:public Electric_Appliance{ //电视类
int Size; //尺寸
bool isColor; //是否彩色
};
class Acoustics:public Electric_Appliance{//音响类
int speaker_num; //喇叭数目
float power; //功率
};
class Bicycle:public Vehicle{ //自行车类
int speed_grades; //调速级数
int wheel_size; //轮子大小
};
class Car:public Vehicle{//轿车类
float volume; //排气量
bool isSkylight; //是否有天窗
int box_num; //厢数
};
class Motorcycle:public Vehicle{ //摩托车类
float volume; //排气量
};
int main(){
return 0;
}