c++ 超类的继承和构造函数参数

isr3a4wc  于 2023-06-25  发布在  其他
关注(0)|答案(1)|浏览(259)

我需要一个构造函数来从超类中获取数据作为参数

  1. class PetrolCar : public Car{
  2. public:
  3. Car(string Brand, string LicensePlate, uint16_t YearOfFabrication, double AverageConsumption, uint32_t NumberOfKilometers) : PetrolCar (string Brand, string LicensePlate, uint16_t YearOfFabrication, double AverageConsumption, uint32_t NumberOfKilometers)

我得到以下错误:
错误:“Brand”前应为“)”
知道为什么吗

w1jd8yoj

w1jd8yoj1#

你不应该像这样在PetrolCar构造函数中调用Car构造函数。你应该在子构造函数中调用超类构造函数,如果这样做有意义的话。下面是你的代码应该是这样的:

  1. class PetrolCar : public Car {
  2. public:
  3. PetrolCar(string Brand, string LicensePlate, uint16_t YearOfFabrication, double AverageConsumption, uint32_t NumberOfKilometers)
  4. : Car(Brand, LicensePlate, YearOfFabrication, AverageConsumption, NumberOfKilometers) {
  5. // Rest of the constructor code
  6. }
  7. };

这里,我已经将PetrolCar(Brand, LicensePlate, YearOfFabrication, AverageConsumption, NumberOfKilometers)更改为Car(Brand, LicensePlate, YearOfFabrication, AverageConsumption, NumberOfKilometers),反之亦然。

相关问题