在面向对象编程中,"调用父指针向量中的子代函数"这个表述可能指的是通过基类指针(父指针)调用派生类(子代)中重写的虚函数。这种情况通常出现在多态的应用中,其中基类指针可以指向派生类的实例,并且能够调用派生类中实现的函数。
以下是一个简单的C++示例,展示了如何通过基类指针调用派生类的函数:
#include <iostream>
#include <vector>
// 基类
class Base {
public:
virtual void display() const {
std::cout << "Display from Base class" << std::endl;
}
virtual ~Base() {} // 虚析构函数确保正确释放派生类资源
};
// 派生类
class Derived : public Base {
public:
void display() const override {
std::cout << "Display from Derived class" << std::endl;
}
};
int main() {
std::vector<Base*> objects;
objects.push_back(new Base());
objects.push_back(new Derived());
for (const auto& obj : objects) {
obj->display(); // 多态调用
}
// 清理资源
for (auto& obj : objects) {
delete obj;
}
return 0;
}
std::unique_ptr
或std::shared_ptr
)来自动管理内存。以上就是对“调用父指针向量中的子代函数”这一问题的详细解答。
领取专属 10元无门槛券
手把手带您无忧上云