c++不常用功能之——类模板
2016-05-03 20:30
501 查看
类模板是对类的抽象,即对类中的函数和数据进行参数化。类模板中的成员函数为函数模板。
#include<iostream>
usingnamespacestd;
//定义结构体
structStudent{
intid;
floataverage;
};
//类模板
template<classT>
classStore{
public:
Store(void);
TGetElem(void);
voidPutElem(Tx);
private:
Titem;
inthaveValue;
};
//以下是成员函数的实现,主要,类模板的成员函数都是函数模板
template<classT>
Store<T>::Store(void):haveValue(0){
}
template<classT>
TStore<T>::GetElem(void){
if(haveValue==0){
cout<<"item没有存入数据!"<<endl;
exit(1);
}
returnitem;
}
//存入数据的函数实现
template<classT>
voidStore<T>::PutElem(Tx){
haveValue=1;
item=x;
}
intmain(){
//声明Student结构体类型变量,并赋值
Studentg={103,93};
Store<int>S1,S2;
Store<Student>S3;
S1.PutElem(7);
S2.PutElem(-1);
cout<<S1.GetElem()<<""<<S2.GetElem()<<endl;
S3.PutElem(g);
cout<<"Thestudentidis"<<S3.GetElem().id<<endl;
return0;
}
相关文章推荐
- C语言实现修改文本文件中特定行的实现代码(百度一天没找到,bing搜索十分钟就找到了)
- 刚开博客,水的开始!
- C++中的explicit关键字
- <C++ STL set>集合并,交,差,对称差总结
- C语言冒泡排序算法
- C语言2(程序结构)
- POJ 3249-Test for Job(拓扑排序&&DP)
- c语言1(基础)
- 通过实验了解C++中的类是如何实现多态
- [C++Primer] 第一章 开始 & 第一部分 C++ 基础
- 编程基础-----c++与c调用so文件
- C++中 引用&与取地址&的区别
- /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found,解压rpm包
- /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found,解压rpm包
- C++使用STL:慎重选择删除元素的方法
- void 类型指针以及指针数组
- C++ 11 关键字auto
- C++ STL使用总结
- C++中虚函数工作原理和(虚)继承类的内存占用大小计算
- C和C++函数互相调用