码迷,mamicode.com
首页 > 编程语言 > 详细

C++ 容器vector的范例学习

时间:2014-12-30 17:22:18      阅读:187      评论:0      收藏:0      [点我收藏+]

标签: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的范例学习

标签:c++ 容器 vector 实例

原文地址:http://3994129.blog.51cto.com/3984129/1597799

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!