首页 > 代码库 > C++ 容器vector的范例学习
C++ 容器vector的范例学习
下面是一个容器的基本使用范例,在此之前,先来看看vector。vector是namespace std内的template。其定义如下:
namespace std { template <class T, class Allocator = allocator<T> > class vector; }
来看看实际例子中是如何使用的:
在文件vectorpra.h中:
class People{ protected: string Sex; string name; int age; }; class Student: public People { private: int grade; public: void SetSex(string wsex){ Sex=wsex; } string GetSex() const{ return Sex; } void SetName(string stuname){ name=stuname; } string GetName() const{ return name; } void SetAge(int year){ age=year; } int GetAge() const{ return age; } void SetGrade(int gradeyear){ grade=gradeyear; } int GetGrade() const{ return grade; } }; typedef vector<Student> StudentArray; class stuManager { public: StudentArray m_array; void CreateStuInfo(string Aname,string Asex,int Aage, int Agrade); void PrintStuInfo(Student stu); };
在文件vector.cpp中:
void stuManager::CreateStuInfo(string Aname,string Asex,int Aage, int Agrade) { Student STU; STU.SetName(Aname); STU.SetSex(Asex); STU.SetAge(Aage); STU.SetGrade(Agrade); stuManager::m_array.push_back(STU); } void stuManager::PrintStuInfo(Student stu) { cout<<"Name ="<<stu.GetName()<<endl; cout<<"Sex ="<<stu.GetSex()<<endl; cout<<"Age ="<<stu.GetAge()<<endl; cout<<"Grade="<<stu.GetGrade()<<endl; }
在main.cpp中:
int main(void) { stuManager MyClass; MyClass.m_array.reserve(10); //保留10个元素的存储空间 MyClass.CreateStuInfo("Kaier","Male",14 ,3); MyClass.CreateStuInfo("Randy","FMale",13 ,3); MyClass.CreateStuInfo("Parker","Male",15 ,3); MyClass.CreateStuInfo("Coco","FMale",13 ,3); MyClass.CreateStuInfo("Joe","Male",12 ,3); MyClass.CreateStuInfo("Amy","FMale",15 ,3); for (int i = 0; i < MyClass.m_array.size();i++) { MyClass.PrintStuInfo(MyClass.m_array.at(i)); } getchar(); getchar(); return 0; }
C++ 容器vector的范例学习
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。