抱歉,如果之前有人问过这个问题,刚刚学习C++,曾尝试搜索但不确定关键字是什么。
有可能做到这一点吗?
class Car {
public:
void addColor(string c) {
color = c;
}
private:
string color;
}
class Honda:public Car {}
class Toyota:public Car {}
int main() {
vector<Car> v;
Honda *car1 = new Honda();
car1.addColor("green");
Toyota *car2 = new Toyota();
car2.addColor("blue");
v.push_back(car1);
v.push_back(car2);
for (int i = 0; i < v.size(); i++) {
cout << v[i].color << endl; // should output green, blue
}
}
如果可能的话,最正确/最有效的方法是什么?
编辑 1
哇,谢谢大家!