建立一个抽象类Object,该类包含整型属性number,包含虚函数ToString方法将内部的number输出到屏幕;构建一个Object类的子类Runner,重写ToString方法,但是输出为number个“*”;在main函数中调用并验证虚函数功能。
#include <iostream>
class Object {
protected:
int number;
public:
Object(int num) : number(num) {}
virtual void ToString() const {
std::cout << "Number: " << number << std::endl;
}
};
class Runner : public Object {
public:
Runner(int num) : Object(num) {}
void ToString() const override {
std::cout << std::string(number, '*') << std::endl;
}
};
int main() {
Object* obj = new Runner(5);
obj->ToString();
delete obj;
return 0;
}