基类对象的c++ std::vector -派生类的运行方法是指在C++中使用std::vector容器存储基类对象,并通过派生类的指针来调用相应的成员函数。
在C++中,std::vector是一个动态数组容器,可以存储不同类型的对象。当我们需要存储基类对象时,可以使用std::vector<Base*>来声明一个指向基类对象的指针容器。然后,我们可以通过向std::vector中添加派生类对象的指针来实现多态性。
下面是一个示例代码:
#include <iostream>
#include <vector>
class Base {
public:
virtual void run() {
std::cout << "Base::run()" << std::endl;
}
};
class Derived : public Base {
public:
void run() override {
std::cout << "Derived::run()" << std::endl;
}
};
int main() {
std::vector<Base*> objects;
objects.push_back(new Base());
objects.push_back(new Derived());
for (auto obj : objects) {
obj->run();
}
// 释放内存
for (auto obj : objects) {
delete obj;
}
return 0;
}
在上面的示例中,我们声明了一个std::vector<Base*>对象,并向其中添加了一个Base对象和一个Derived对象。然后,通过循环遍历容器中的对象,并调用它们的run()函数。由于run()函数是虚函数,所以会根据对象的实际类型来调用相应的函数。
输出结果为:
Base::run()
Derived::run()
这个示例展示了基类对象的std::vector -派生类的运行方法。在实际应用中,我们可以根据具体的业务需求,使用std::vector容器存储不同类型的对象,并通过多态性来实现灵活的对象调用。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云