vector存放自定義數據類型(3)


學習目標:

vector存放自定義數據類型,並打印輸出

解引用:

 

 1 #include <iostream>
 2 #include <string>
 3 #include <vector>
 4 using namespace std;
 5 
 6 //vector存放自定義數據類型
 7 class Person
 8 {
 9 public:
10 
11     Person(string name, int age)
12     {
13         this->m_Name = name;
14         this->m_Age = age;
15     }
16 
17     string m_Name;
18     int m_Age;
19 };
20 
21 void test_01(void)
22 {
23     vector<Person> v;//創建對象
24     Person p1("aaa", 10);
25     Person p2("bbb", 20);
26     Person p3("ccc", 30);
27     Person p4("ddd", 40);
28 
29     //向容器種添加數據
30     v.push_back(p1);
31     v.push_back(p2);
32     v.push_back(p3);
33     v.push_back(p4);
34 
35     //遍歷容器中的數據
36     for (vector<Person>::iterator it = v.begin(); it != v.end(); it++)
37     {
38         //對於 類 類型數據的訪問方式
39         cout << "姓名:" << (*it).m_Name << "年齡:" << (*it).m_Age << endl;//解引用之后成為Person的對象
40         cout << "姓名:" << it->m_Name << "年齡:" << it->m_Age << endl;//it為Person類指針
41     }
42 }
43 
44 //存放自定義數據類型 指針
45 void test_02(void)
46 {
47     vector<Person*> v;//創建對象
48     Person p1("aaa", 10);
49     Person p2("bbb", 20);
50     Person p3("ccc", 30);
51     Person p4("ddd", 40);
52 
53     //向容器種添加數據
54     v.push_back(&p1);
55     v.push_back(&p2);
56     v.push_back(&p3);
57     v.push_back(&p4);
58 
59     //遍歷指針數組
60     for (vector<Person*>::iterator it = v.begin(); it != v.end(); it++)
61     {
62         //it解引用之后就是Person類的對象
63         cout << "姓名:" << (*it)->m_Name << " 年齡:" << (*it)->m_Age << endl;
64     }
65 
66 }
67 
68 int main(void)
69 {
70     //test_01();
71     test_02();
72 
73     system("pause");
74     return 0;
75 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM