C++中类模板例子

#include
#include
using namespace std;
struct Student{
int id; //学号
float gpa; //平均分
};
template
class Store{//类模板:实现对任意类型数据进行存取
private:
T item; //item用来存放任意类型的数据
bool haveValue; //haveValue标记item是否已被存入内容
public:
Store();
T&getElem();// 提取数据函数
void putElem(const T&x); //存放数据函数
};

template
Store::Store() :haveValue(false){}
template
T &Store::getElem(){
//如试图提取未初始化的数据,则终止程序
if (!haveValue){
cout << “No item present!” << endl;
exit(1); //使程序完全退出,返回到操作系统。
}
return item; //返回item中存放的数据
}
template
void Store::putElem(const T &x){
//将haveValue置为True,表示item中已存入数值
haveValue = true;
item = x; //将x值存入item
}
int main(){
Stores1, s2;
s1.putElem(3);
s2.putElem(7);
cout << s1.getElem() << “” << s2.getElem() << endl;

Student g = { 1000, 23 };
Store<Student>s3;
s3.putElem(g);
cout << "The student id is" << s3.getElem().id << endl;


system("pause");
return 0;

}在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

临时演员9288

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值