C++ 汽车类设计:发动机、变速箱和汽车
- 发动机类 Engine
1.1) 私有成员变量:
- capacity (float):发动机排量
- maxPower (float):最大功率
- fuelType (enum):燃料类型,枚举类型包括 PETROL、DIESEL、PROPANE 和 NATURAL_GAS 四种。
枚举类型定义如下:
enum FuelType { PETROL, DIESEL, PROPANE, NATURAL_GAS };
1.2) 私有成员函数:
- string getFuelTypeName():返回燃料类型的名称,返回值类型为 string。
1.3) 公有成员函数:
- float getCapacity():返回发动机排量。
- float getMaxPower():返回最大功率。
- FuelType getFuelType():返回燃料类型。
1.4) 公有成员函数:
- void setCapacity(float capacity):设置发动机排量。
- void setMaxPower(float maxPower):设置最大功率。
- void setFuelType(FuelType fuelType):设置燃料类型。
1.5) 公有成员函数:
- void show():输出发动机的三项信息,包括排量、最大功率和燃料类型名称。
1.6) 公有构造函数:
- Engine(float capacity = 2, float maxPower = 120, FuelType fuelType = PETROL):初始化三个成员变量,排量默认为 2,最大功率默认为 120,燃料类型默认为 PETROL。
- 变速箱类 GearBox
2.1) 私有成员变量:
- numGears (int):变速档数。
2.2) 私有成员变量:
- type (enum):变速箱类型,枚举类型 GearType 包括 MT、AT、AMT、CVT 和 DCT 五种。
枚举类型定义如下:
enum GearType { MT, AT, AMT, CVT, DCT };
2.3) 私有成员函数:
- string getTypeName():返回变速箱类型名称,返回值类型为 string。
2.4) 公有成员函数:
- int getNumGears():返回变速档数。
2.5) 公有成员函数:
- void setNumGears(int numGears):设置变速档数。
2.6) 公有成员函数:
- void show():输出变速箱类型名称和档位数。
2.7) 公有构造函数:
- GearBox(GearType type = MT, int numGears = 4):初始化两个成员变量,变速箱类型默认为 MT,档位数默认为 4。
- 汽车类 Car
3.1) 私有成员变量:
- make (string):汽车厂商。
- numSeats (int):座位数。
- engine (Engine):发动机。
- gearbox (GearBox):变速箱。
3.2) 公有成员函数:
- void changeEngine(Engine engine):更换汽车的发动机。
- void changeGearBox(GearBox gearbox):更换汽车的变速箱。
3.3) 公有成员函数:
- void show():输出汽车的所有信息,包括厂商、座位数、发动机和变速箱信息。
3.4) 构造函数:
- Car(string make, int numSeats, float engineCapacity, float engineMaxPower, FuelType engineFuelType, GearType gearboxType, int gearboxNumGears):初始化四个成员变量,分别为厂商、座位数、发动机参数和变速箱参数。
原文地址: https://www.cveoy.top/t/topic/nUrx 著作权归作者所有。请勿转载和采集!