c++ template 类模板
来源:互联网 发布:云烟淘宝客助手v7.5 编辑:程序博客网 时间:2024/06/06 10:06
网上学习来的例子:
#include <string.h> #include <iostream> using namespace std; template <typename T> class Stack;template <typename T> class StackItem{public: T info; StackItem *next; StackItem(T x) { info = x; next = NULL; } friend class Stack<T>;};template <typename T> class Stack{ StackItem<T> * top;public: Stack() { top = NULL; } void push(T x) { StackItem<T> *p = new StackItem<T>(x); p->next = top; top = p; } T pop() { if(top == NULL) { throw 1; } StackItem<T> * p = top; top = top->next; T x = p->info; delete p; return x; }};int main(){ Stack<double> a; a.push(1.3); a.push(9); cout << a.pop() << endl; cout << a.pop() << endl; return 0;}
输出:
pateo@pateo-B86N53X:~/work/study$ g++ main.cc -o mainpateo@pateo-B86N53X:~/work/study$ ./main91.3pateo@pateo-B86N53X:~/work/study$
#include <string.h> #include <iostream> using namespace std; template <class T>class Base{public : T a ;Base(T b){a = b ; } T getA(){ return a ;} //类内定义 void setA(T c);};template <class T> //模板在类外的定义 void Base<T>::setA(T c){a = c ;}int main(void){Base <int>b(4);cout<<b.getA()<<endl; Base <double> bc(4);bc.setA(4.3);cout<<bc.getA()<<endl; return 0 ; }
输出:
pateo@pateo-B86N53X:~/work/study$ g++ main.cc -o mainpateo@pateo-B86N53X:~/work/study$ ./main44.3pateo@pateo-B86N53X:~/work/study$
#include <string.h> #include <iostream> using namespace std; template <class T>class Base{public : T a ;Base(T b){a = b ; } T getA(){ return a ;} //类内定义 void setA(T c); static int count(){return ctr;}private : static int ctr;};template <class T> int Base<T>::ctr = 5;template <class T> //模板在类外的定义 void Base<T>::setA(T c){a = c ;}int main(void){Base <int>b(4);cout<<b.getA()<<endl; Base <double> bc(4);bc.setA(4.3);cout<<bc.getA()<<endl; Base <int>c(6); cout<<c.count()<<endl;return 0 ; }
输出:
pateo@pateo-B86N53X:~/work/study$ g++ main.cc -o mainpateo@pateo-B86N53X:~/work/study$ ./main44.35pateo@pateo-B86N53X:~/work/study$
- C++template 模板类2
- C++,template,类模板和函数模板
- 【C++】类模板(template)作用对比举例
- C++template ;模板学习
- C++template模板
- C/C++函数模板template
- C++ template - 类模板
- template 模板类
- c++ template 类模板
- C++类模板template
- 类模板-template
- C++模板类template
- template模板类使用
- 类模板Template
- C++类模板template
- C++Template学习笔记之函数模板
- 函数模板 Function Template(C++Primer-10)
- C++(15):模板(Template)
- linux c方式 从www.ip138.com获取IP数据
- 再次写给我们这些浮躁的程序员
- 关于cocos2d-x中CCScrollView和CCMenu触摸优先级的解决方案
- 修改JRE system library
- 【小蒙淘金】2.26早评-黄金白银行情分析及部分操作建议
- c++ template 类模板
- jsp 自定义标签
- 如何在 Web 服务器上设置 SSL
- Linux文件夹大小查看办法
- Swinghacks——动感JList
- java实现螺旋方阵或者折叠方阵的算法
- 一般PNG图片压缩的Java实现
- 不用判断循环判断某个字段是否存在
- 我的php学习笔记(二十七)PHP模板引擎Smarty缓存应用