學習目標:vector中存放自定義資料型別,並列印輸出
示例:
#include <iostream>
using namespace std;
#include <string>
#include <vector>
#include <algorithm> //標準演算法的標頭檔案
//vector容器中存放自定義資料型別
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("aaa",10);
Person p2("bbb",20);
Person p3("ccc",30);
Person p4("ddd",40);
Person p5("eee",50);
//向容器中新增資料
v.push_back(p1);
v.push_back(p2);
v.push_back(p3);
v.push_back(p4);
v.push_back(p5);
//遍歷容器中的資料
for (vector<Person>::iterator it = v.begin(); it!=v.end(); it++)
{
cout<<"姓名:"<<(*it).m_Name<<"年齡:"<<(*it).m_Age<<endl;
//cout<<"姓名:"<<it.m_Name<<"年齡:"<<it.m_Age<<endl;
}
}
//存放自定義資料型別 指標
void test02()
{
vector<Person*> v;
Person p1("aaa",10);
Person p2("bbb",20);
Person p3("ccc",30);
Person p4("ddd",40);
Person p5("eee",50);
//向容器中新增資料
v.push_back(&p1);
v.push_back(&p2);
v.push_back(&p3);
v.push_back(&p4);
v.push_back(&p5);
//遍歷容器中的資料
for (vector<Person*>::iterator it = v.begin(); it!=v.end(); it++)
{
cout<<"姓名:"<<(*it)->m_Name<<"年齡:"<<(*it)->m_Age<<endl;
}
}
int main()
{
test01();
test02();
return 0;
}