c++vector容器存放自定义数据类型(指针和对象)(七)

这里有C++STL——全面总结详细教程(附案例解析)(持续更新中)

vector中存放自定义数据类型,并打印输出

新建Person类,数据为:姓名和年龄。

通过vector容器创建对象,并插入。

对象可直接插入,指针在插入时,带上创建对象的地址&。

#include<iostream>
using namespace std;
#include<vector>
#include<algorithm>
#include<string>

class Person{
public:
	Person(string name, int age) {
		this->m_Name = name;
		this->m_Age = age;
	}
	string m_Name;
	int m_Age;
};

//存放对象
void test01() {
	vector<Person> v;

	Person p1("aa", 10);
	Person p2("bb", 20);
	Person p3("cc", 30);

	v.push_back(p1);
	v.push_back(p2);
	v.push_back(p3);

	for (vector<Person>::iterator it = v.begin(); it != v.end(); it++) {
		cout << "Name: " << (*it).m_Name << "  Age:" << (*it).m_Age << endl;
	}

}

//存放指针
void test02() {
	vector<Person*> v;

	Person p1("aa", 10);
	Person p2("bb", 20);
	Person p3("cc", 30);

	v.push_back(&p1);
	v.push_back(&p2);
	v.push_back(&p3);

	for (vector<Person*>::iterator it = v.begin(); it != v.end(); it++) {
		Person *p = (*it);
		cout << "Name: " << p->m_Name << "  Age:" << p->m_Age << endl;
	}

}


int main() {
	test01();
	test02();
	system("pause");
	return 0;
}
发布了68 篇原创文章 · 获赞 141 · 访问量 29万+

猜你喜欢

转载自blog.csdn.net/cfl997/article/details/103186192