//stack的使用 #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<stack> using namespace std; /* 引用头文件 #include<stack> stack类本身是一个类模板 stack(堆栈) 是一个容器类的改编,为程序员提供了堆栈的全部功能,— —也就是说实现了一个先进后出(FILO)的数据结构。 1.empty() 堆栈为空则返回真 2.pop() 移除栈顶元素 3.push() 在栈顶增加元素 4.size() 返回栈中元素数目 5.top() 返回栈顶元素 */ class Student{ public: int age; char name[30]; }; void ProtectA(){ //跟vector不同,不需要初始化初始元素个数 stack<Student *> ss1; Student s1, s2, s3; s1.age = 12; strcpy(s1.name, "小米"); s2.age = 14; strcpy(s2.name, "小红"); s3.age = 16; strcpy(s3.name, "小刚"); //添加元素 ss1.push(&s1); ss1.push(&s2); ss1.push(&s3); //弹出栈顶元素 while (!ss1.empty()){ //获取栈顶元素 Student * temp = ss1.top(); cout << "学生姓名:" << temp->name << ";学生年龄是:" << temp->age << endl; //弹出栈顶元素 ss1.pop(); } } void main(){ ProtectA(); system("pause"); }