vector的元素为类指针应该怎么输出
时间: 2024-02-21 09:57:12 浏览: 29
如果你的 `vector` 包含类指针,你需要使用指针访问类的成员函数或成员变量。下面是一个示例,假设你有一个 `vector` 包含指向类 `Person` 的指针,你可以使用以下代码来输出该 `vector` 中的所有元素:
```c++
#include <iostream>
#include <vector>
using namespace std;
class Person {
public:
string name;
int age;
void printInfo() {
cout << "Name: " << name << ", Age: " << age << endl;
}
};
int main()
{
vector<Person*> v;
Person* p1 = new Person();
p1->name = "John";
p1->age = 25;
v.push_back(p1);
Person* p2 = new Person();
p2->name = "Mary";
p2->age = 30;
v.push_back(p2);
for (int i = 0; i < v.size(); i++)
{
v[i]->printInfo();
}
return 0;
}
```
在上面的代码中,我们定义了一个 `Person` 类,并在 `vector` 中存储了两个 `Person` 对象的指针。我们使用循环遍历 `vector` 中的所有元素,并使用指针访问每个 `Person` 对象的 `printInfo()` 函数来输出该对象的信息。输出结果为:
```
Name: John, Age: 25
Name: Mary, Age: 30
```
需要注意的是,如果你使用了 `new` 关键字来创建 `Person` 对象,你需要在使用完成后手动释放内存。在上面的代码中,我们通过 `delete` 关键字释放了 `Person` 对象的内存。
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)