假设变量 veh 是类 Car 的一个实例,我们可以调用 veh.move(),是因为面向对象编程有 ( ) 性质。
class Vehicle {
private:
string brand;
public:
Vehicle(string b) : brand(b) {}
void setBrand(const string& b) { brand = b; }
string getBrand() const { return brand; }
void move() const {
cout << brand << " is moving..." << endl;
}
};
class Car : public Vehicle {
private:
int seatCount;
public:
Car(string b, int seats) : Vehicle(b), seatCount(seats) {}
void showInfo() const {
cout << "This car is a " << getBrand()
<< " with " << seatCount << " seats." << endl;
}
};
继承 (Inheritance)
封装 (Encapsulation)
多态 (Polymorphism)
链接 (Linking)