在编程中,可以使用向量(Vector)来存储和操作一组继承自同一类的不同对象。向量是一种动态数组,可以根据需要自动调整大小。
要创建继承自同一类的不同对象的向量,可以按照以下步骤进行:
class Animal {
public:
virtual void sound() = 0; // 纯虚函数,子类必须实现
};
class Dog : public Animal {
public:
void sound() {
cout << "汪汪汪" << endl;
}
};
class Cat : public Animal {
public:
void sound() {
cout << "喵喵喵" << endl;
}
};
#include <vector>
int main() {
vector<Animal*> animals; // 创建存储Animal指针的向量
Animal* dog = new Dog(); // 创建Dog对象
Animal* cat = new Cat(); // 创建Cat对象
animals.push_back(dog); // 将Dog对象添加到向量中
animals.push_back(cat); // 将Cat对象添加到向量中
// 遍历向量并调用各个对象的方法
for (int i = 0; i < animals.size(); i++) {
animals[i]->sound();
}
// 释放内存
delete dog;
delete cat;
return 0;
}
在上述代码中,我们使用了Animal的指针来存储不同的动物对象,这样可以实现多态性,即通过基类指针调用子类的方法。
这样,我们就成功地创建了继承自同一类的不同对象的向量。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云