2.自已拟定一个解决实际简单题目,分析并抽象为一个类,然后定义对象测试(类的定义放在头文件中,测试程序用exp_105.cpp保存)
时间: 2024-02-13 13:01:30 浏览: 85
假设我要设计一个简单的汽车类,用于描述一个汽车的品牌、颜色、当前时速和加速度等属性,以及汽车加速和减速的功能。
下面是汽车类的头文件 Car.h:
```c++
#ifndef CAR_H
#define CAR_H
#include <string>
class Car {
private:
std::string brand; // 品牌
std::string color; // 颜色
int speed; // 当前速度
int acceleration; // 加速度
public:
Car(std::string brand, std::string color, int speed, int acceleration); // 构造函数
~Car(); // 析构函数
void accelerate(); // 加速
void decelerate(); // 减速
std::string getBrand(); // 获取品牌
std::string getColor(); // 获取颜色
int getSpeed(); // 获取当前速度
};
#endif
```
下面是汽车类的实现文件 Car.cpp:
```c++
#include "Car.h"
Car::Car(std::string brand, std::string color, int speed, int acceleration) {
this->brand = brand;
this->color = color;
this->speed = speed;
this->acceleration = acceleration;
}
Car::~Car() {}
void Car::accelerate() {
this->speed += this->acceleration;
}
void Car::decelerate() {
this->speed -= this->acceleration;
}
std::string Car::getBrand() {
return this->brand;
}
std::string Car::getColor() {
return this->color;
}
int Car::getSpeed() {
return this->speed;
}
```
下面是测试程序 exp_105.cpp:
```c++
#include <iostream>
#include "Car.h"
using namespace std;
int main() {
// 实例化一个汽车对象
Car car("Toyota", "white", 0, 10);
// 获取汽车的品牌、颜色和当前速度
cout << "Brand: " << car.getBrand() << endl;
cout << "Color: " << car.getColor() << endl;
cout << "Speed: " << car.getSpeed() << endl;
// 加速两次
car.accelerate();
car.accelerate();
// 获取加速后的速度
cout << "Speed after acceleration: " << car.getSpeed() << endl;
// 减速一次
car.decelerate();
// 获取减速后的速度
cout << "Speed after deceleration: " << car.getSpeed() << endl;
return 0;
}
```
该测试程序实例化了一个汽车对象,获取了汽车的品牌、颜色和当前速度,并进行了加速和减速操作,最后输出了加速和减速后的速度。
阅读全文