模板与群体数据2
#include<iostream>
#include<cstdlib>
using namespace std;
struct Student{
int id;
float gpa;
};
template<class T>
class Store{
private:
T item;
bool haveValue;
public:
Store();
T &getElem();
void putElem(const T &x);
};
template<class T>
Store<T>::Store():haveValue(false){}
template<class T>
T &Store<T>::getElem(){
if(!haveValue){
cout<<"No item present!"<<endl;
exit(1);
}
return item;
}
template<class T>
void Store<T>::putElem(const T &x){
haveValue=true;
item=x;
}
int main()
{
Store<int>s1,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;
Store<double>d;
cout<<"Retrieving object d...";
cout<<d.getElem()<<endl;
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?