实验6 栈类模板实现
实验目的与要求:
掌握类模板的定义方法及使用方法。
实验原理:
通过C++模板定义抽象类型的能力,
可以设计出抽象元素类型的容器类模板。
实验步骤:
1 基于数组实现LIFO数据结构的类模板Stack,
其中T代表抽象类型;
2 在类模板中,利用抽象类型,定义实现Stack所需的数据成员;
3 提供size()、empty()、top()、push(t)、pop()成员函数,
其中t为T类型的形参;
4 以int、double作为元素类型,验证Stack模板类对象的功能;
5 设计包含年龄(Age)、身高(Height)成员数据的Person类,
验证Stack模板类对象的功能。
代码实现:
//base.h
#pragma once
#include <iostream>
#include<string>
using namespace std;
//Ex.h
#pragma once
#include"base.h"
class Ex
{
string e;
public:
Ex(string s);
string what()const;
};
//Ex.cpp
#include "Ex.h"
Ex::Ex(string s) :e(s)
{
}
string Ex::what() const
{
return e;
}
//Person.h
#pragma once
#include"base.h"
#include"Ex.h"
class Person
{
string m_Name;
int m_Age;
double m_Height;
public:
//初始化
Person(string Name, int Age, double Height);
Person();
//显示信息
friend ostream& operator<<(ostream &,Person &);
template<class T>
void ChangeInfo(T t);