C++ An automobile 4S shop sells SUV and family car models. SUV is sold at a discount of 95% of the manufacturer's guide price, and family car is sold at a direct price reduction of 18000 yuan. Please construct a VehicleSale abstract base class, in which a pure virtual function SalePrice is defined to calculate the actual sales price. Two classes, SUVSale and CarSale, are derived from the VehicleSale class.
时间: 2023-07-02 14:19:41 浏览: 38
好的,让我来帮您构建这个基类和派生类的代码:
```c++
#include <iostream>
using namespace std;
class VehicleSale {
public:
virtual double SalePrice() = 0;
};
class SUVSale : public VehicleSale {
private:
double guidePrice;
public:
SUVSale(double price) {
guidePrice = price;
}
double SalePrice() {
return 0.95 * guidePrice;
}
};
class CarSale : public VehicleSale {
private:
double originalPrice;
public:
CarSale(double price) {
originalPrice = price;
}
double SalePrice() {
return originalPrice - 18000;
}
};
int main() {
SUVSale suv(100000);
CarSale car(80000);
cout << "SUV actual sales price: " << suv.SalePrice() << " yuan" << endl;
cout << "Family car actual sales price: " << car.SalePrice() << " yuan" << endl;
return 0;
}
```
在上面的代码中,我们定义了一个抽象基类VehicleSale,其中包含一个纯虚函数SalePrice。这个函数在派生类中被实现,用于计算实际的销售价格。我们又定义了两个派生类SUVSale和CarSale,分别用于销售SUV和家用车,并分别实现了SalePrice函数。在main函数中,我们创建了一个SUV和一个家用车的对象,并分别调用了它们的SalePrice函数来计算实际销售价格。