vector include string h include vector include iostream

  • Slides: 19
Download presentation

二、顺序容器 vector应用实例:实现容器中数据的增加和删除。 #include <string. h> #include <vector> #include <iostream> using namespace std; int main(){

二、顺序容器 vector应用实例:实现容器中数据的增加和删除。 #include <string. h> #include <vector> #include <iostream> using namespace std; int main(){ vector<int>obj; 创建一个向量存储容器 for(int i=0; i<10; i++) push_back(elem)在数组最后添加数据 { obj. push_back(i); cout<<obj[i]<<", "; } 8 C++面向对象编程

三、关联容器 set应用实例 #include <iostream> #include <string> #include <set> using namespace std; class Person{ friend

三、关联容器 set应用实例 #include <iostream> #include <string> #include <set> using namespace std; class Person{ friend ostream &operator<<(ostream &out, const Person &person); public: Person(string name, int age){ m. Name = name; m. Age = age; } public: string m. Name; int m. Age; }; 13 C++面向对象编程

三、关联容器 ostream &operator<<(ostream &out, const Person &person) { out << "name: " << person.

三、关联容器 ostream &operator<<(ostream &out, const Person &person) { out << "name: " << person. m. Name << " age: " << person. m. Age << endl; return out; } class Compare. Person { public: bool operator()(const Person &p 1, const Person &p 2) { if (p 1. m. Name == p 2. m. Name) {return p 1. m. Age > p 2. m. Age; } return p 1. m. Name > p 2. m. Name; } }; 14 C++面向对象编程

三、关联容器 template<typename T> void Print. Set(T &s){ for (T: : iterator iter = s.

三、关联容器 template<typename T> void Print. Set(T &s){ for (T: : iterator iter = s. begin(); iter != s. end(); ++iter) cout << *iter << " "; cout << endl; } 打印set类型的函数模板 15 C++面向对象编程

三、关联容器 void test 03() { set<Person, Compare. Person> s; s. insert(Person("John", 22)); s. insert(Person("Peter",

三、关联容器 void test 03() { set<Person, Compare. Person> s; s. insert(Person("John", 22)); s. insert(Person("Peter", 25)); //打印set Print. Set(s); set元素类型为Person,当set元素类型为自定义类型 } 的时候,必须给set提供一个仿函数,用于比较自定 int main(void) 义类型的大小,否则无法通过编译 { test 03(); return 0; } 16 C++面向对象编程