第21006题 单选题
给定C++代码中,基类指针调用相同move接口输出不同结果,体现了面向对象编程的哪项特性?
class Vehicle {
private:
    string brand;
public:
    Vehicle(string b) : brand(b) {}
    void setBrand(const string& b) { brand = b; }
    string getBrand() const { return brand; }
    virtual 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;
    }
    void move() const override {
        cout << getBrand() << " car is driving on the road!" << endl;
    }
};
class Bike : public Vehicle {
public:
    Bike(string b) : Vehicle(b) {}
    void move() const override {
        cout << getBrand() << " bike is cycling on the path!" << endl;
    }
};
int main() {
    Vehicle* v1 = new Car("Toyota", 5);
    Vehicle* v2 = new Bike("Giant");
    v1->move();
    v2->move();
    delete v1;
    delete v2;
    return 0;
}
{{ option.label }}
子题{{ index + 1 }} {{ child.type_label }}
{{ option.label }}
✓ 正确 ◐ 部分正确 ✗ 错误
程序运行统计
暂无判题统计
提交{{ questionInfo.stats ? questionInfo.stats.submit_count : 0 }}次 正确率{{ statsAccuracy }}%
答案解析