下面是一个包含指向另一个对象的指针的对象向量的代码示例:
#include
#include
class Object {
public:
int id;
Object(int id) : id(id) {}
};
class PointerObject {
public:
Object* ptr;
PointerObject(Object* ptr) : ptr(ptr) {}
};
int main() {
std::vector objectVector;
// 创建一些Object对象
Object* obj1 = new Object(1);
Object* obj2 = new Object(2);
Object* obj3 = new Object(3);
// 创建指向Object对象的PointerObject对象并添加到向量中
PointerObject* ptrObj1 = new PointerObject(obj1);
objectVector.push_back(ptrObj1);
PointerObject* ptrObj2 = new PointerObject(obj2);
objectVector.push_back(ptrObj2);
PointerObject* ptrObj3 = new PointerObject(obj3);
objectVector.push_back(ptrObj3);
// 遍历向量并访问指向的Object对象
for (PointerObject* ptrObj : objectVector) {
std::cout << "Object ID: " << ptrObj->ptr->id << std::endl;
}
// 释放动态分配的内存
delete obj1;
delete obj2;
delete obj3;
delete ptrObj1;
delete ptrObj2;
delete ptrObj3;
return 0;
}
在上面的示例中,我们定义了两个类:Object类和PointerObject类。Object类表示一个普通的对象,包含一个id成员变量。PointerObject类包含一个指向Object对象的指针。
在main函数中,我们创建了三个Object对象,并使用它们创建了三个PointerObject对象。然后,将这些PointerObject对象添加到objectVector向量中。最后,我们遍历向量,访问指向的Object对象并打印它们的id。
请注意,我们在最后释放了动态分配的内存,以防止内存泄漏。
上一篇:包含至少两个字母"a"的所有字符串的正则表达式是什么?
下一篇:包含指针的原子结构