用c++汽车类(Car)设计一个汽车类Car,包含私有成员变量make(品牌)、model(型号)、year(生产年份)、speed(当前速度)和fuel(当前油量)。
时间: 2024-09-28 15:07:28 浏览: 36
在C++中,我们可以设计一个名为`Car`的基本汽车类,它包含了私有数据成员以存储车辆的品牌、型号、生产年份、当前速度以及油量信息。以下是这个类的设计:
```cpp
class Car {
private:
std::string make; // 品牌
std::string model; // 型号
int year; // 生产年份
float speed; // 当前速度
float fuel; // 当前油量
public:
// 构造函数设置默认值
Car(const std::string& brand, const std::string& model, int production_year) :
make(brand), model(model), year(production_year), speed(0), fuel(0) {}
// 获取和设置方法
std::string getMake() const { return make; }
void setMake(const std::string& new_make) { make = new_make; }
std::string getModel() const { return model; }
void setModel(const std::string& new_model) { model = new_model; }
int getYear() const { return year; }
void setYear(int new_year) { year = new_year; }
float getCurrentSpeed() const { return speed; }
void setCurrentSpeed(float new_speed) { speed = new_speed; }
float getCurrentFuelLevel() const { return fuel; }
void setCurrentFuelLevel(float new_fuel) { fuel = new_fuel; }
// 其他可能有用的方法,如加速、减速、加油等
void accelerate(float amount);
void brake();
void refuel(float amount);
private:
// 私有访问控制防止直接修改
Car& operator=(const Car&) = delete;
};
```
在这个例子中,我们提供了一些公共方法用于获取和设置数据成员,同时添加了像`accelerate()`、`brake()`和`refuel()`这样的方法,它们可能会改变车辆的速度或油量。注意,为了防止复制构造函数导致的对象共享问题,我们在类内部声明了一个隐式的拷贝构造函数,并将其删除。
阅读全文