在面向对象编程中,类是一种抽象的数据类型,它定义了对象的属性和方法。指针是一种变量,它存储另一个变量的内存地址。指针数组则是一个数组,其元素都是指针类型。当我们将这些概念结合起来,创建一个指向类的指针数组时,我们实际上是在创建一个数组,数组中的每个元素都是一个指向某个类实例的指针。
根据指针所指向的类类型,指针数组可以分为:
以下是一个简单的C++示例,演示如何创建一个指向类的指针数组,并进行基本操作:
#include <iostream>
#include <vector>
class Base {
public:
virtual void display() = 0; // 纯虚函数
};
class Derived1 : public Base {
public:
void display() override {
std::cout << "Derived1" << std::endl;
}
};
class Derived2 : public Base {
public:
void display() override {
std::cout << "Derived2" << std::endl;
}
};
int main() {
std::vector<Base*> ptrArray; // 创建指向Base类的指针数组
ptrArray.push_back(new Derived1()); // 添加Derived1实例
ptrArray.push_back(new Derived2()); // 添加Derived2实例
for (Base* ptr : ptrArray) {
ptr->display(); // 调用各实例的display方法
}
// 清理资源
for (Base* ptr : ptrArray) {
delete ptr;
}
ptrArray.clear();
return 0;
}
请注意,以上示例代码和参考链接仅供参考,实际应用中可能需要根据具体需求进行调整。同时,在使用指针数组时,请务必注意内存管理和安全性问题。
领取专属 10元无门槛券
手把手带您无忧上云