1. 发动机类 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。
  1. 变速箱类 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。
  1. 汽车类 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):初始化四个成员变量,分别为厂商、座位数、发动机参数和变速箱参数。
C++ 汽车类设计:发动机、变速箱和汽车

原文地址: https://www.cveoy.top/t/topic/nUrx 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录