1,若vector中的元素类型不是stl中的类,即为vector<T> vec, T 是自定义类型,那么可以在T类结构中重载运算符<<。
例如:
#include"iostream"#include<vector>#include"fstream"#include"ostream"using namespace std;class person{public: person(char *,char*); friend ostream & operator<<(ostream &os,person &p)//友元函数定义在person类中,可以操作person中的成员。 { os <<
.Id << p.Name; return os; }private: char Id[10]; char Name[10];};inline person::person(char *name, char *id){ strcpy(Id, id); strcpy(Name, name);}int main(){ fstream file; person *temp; int i; file.open("result.txt",ios_base::out); vector<person>stu; for (i = 0; i < 3; i++) { char name[10], id[10]; cin >> name >> id; temp = new person(name, id); stu.push_back(*temp); } for (i = 0; i <stu.size(); i++) { fp << stu[i]; } fp.close(); system("pause"); return 0;}
本文介绍如何在STL vector中使用自定义类型,并通过重载运算符<<实现自定义类型的输出。此外,还展示了如何处理vector中的基本数据类型。
1379

被折叠的 条评论
为什么被折叠?



