原创地址:http://www.cnblogs.com/gw811/archive/2012/10/25/2738929.html

TemplateDemo.h

#include <iostream>
using namespace std;
#ifndef TEMPLATE_DEMO_HXX
#define TEMPLATE_DEMO_HXXtemplate<class T,int MAXSIZE> class Stack{
private:T elems[MAXSIZE];int numElems;
public:Stack();void push(T const&);void pop();T top() const;bool empty() const{return numElems == 0;}bool full() const{return numElems == MAXSIZE;}};template<class T,int MAXSIZE>
Stack<T,MAXSIZE>::Stack():numElems(0){}template<class T,int MAXSIZE>
void Stack<T,MAXSIZE>::push(T const& elem){if(numElems == MAXSIZE){cout << "stack is pull" << endl;}elems[numElems++] = elem;
}template<class T,int MAXSIZE>
void Stack<T,MAXSIZE>::pop(){if(numElems <= 0){cout << "stack is empty" << endl;}--numElems;
}template<class T,int MAXSIZE>
T Stack<T,MAXSIZE>::top() const{if(numElems <= 0){cout << "stack is empty" << endl;}return elems[numElems-1];
}#endif // TEMPLATH_DEMO_HXX

TemplateDemo.cpp

#include <iostream>
#include<string>
#include<cstdlib>
#include "TemplateDemo.h"
using namespace std;int main(){Stack<int,20> S20;Stack<int,40> S40;Stack<string,40> Str40;S20.push(7);cout << S20.top() << endl;Str40.push("Hello");cout << Str40.top() << endl;
}

类模板非类型形参实现Stack相关推荐

  1. 判断exception类型_C++核心准则T.44:使用函数模板推断类模板参数类型(如果可能)...

    T.44: Use function templates to deduce class template argument types (where feasible) T.44:使用函数模板推断类 ...

  2. 类模板,多种类型的类模板,自定义类模板,类模板的默认类型,数组的模板实现,友元和类模板,友元函数,类模板与静态变量,类模板与普通类之间互相继承,类模板作为模板参数,类嵌套,类模板嵌套,类包装器

     1.第一个最简单的类模板案例 #include "mainwindow.h" #include <QApplication> #include <QPush ...

  3. 模板的模板参数与非类型模板参数

    模板参数-实现容器适配器 我们在学习栈和队列时,通过数组或链表实现,这里C++提供一种实现方式:容器适配器. 用vector或者list为容器,适配出一个stack或queue,具体是如何实现? 基本 ...

  4. 浅谈非类型模板参数、模板的特化

    非类型模板参数 1.模板参数分类类型形参与非类型形参. 2.类型形参即:出现在模板参数列表中,跟在class或者typename之类的参数类型名称.类型参数也可以给缺省值 3.非类型形参,就是用一个常 ...

  5. 模板详解 --- 函数模板与类模板

    目录 函数模板 函数模板的格式: 函数模板的实例化: 模板参数的匹配原则 类模板 类模板的格式: 类模板的实例化: 非类型模板参数 我们为什么要使用模板?         C++使用模板的目的是为了解 ...

  6. 类模板(参考《C++ Templates 英文版第二版》)

    类模板(参考<C++ Templates 英文版第二版>) Chapter 1 类模板 与函数相似,类也可以被一个或者多个类型参数化 在这章,我们使用栈作为例子 2.1 类模板stack的 ...

  7. C++函数模板与类模板的区别

    类模板: C++ 除了支持函数模板,还支持类模板(Class Template).函数模板中定义的类型参数可以用在函数声明和函数定义中,类模板中定义的类型参数可以用在类声明和类实现中.类模板的目的同样 ...

  8. [Reprint] C++函数模板与类模板实例解析

    这篇文章主要介绍了C++函数模板与类模板,需要的朋友可以参考下 本文针对C++函数模板与类模板进行了较为详尽的实例解析,有助于帮助读者加深对C++函数模板与类模板的理解.具体内容如下: 泛型编程(Ge ...

  9. C++知识点56——类模板(1、模板类的介绍)

    一.类模板 和函数模板一样,类模板也得通过template关键字来声明和定义,C++标准库中有很多容器都是类模板 示例 template <typename T> class mystac ...

最新文章

  1. 综合素质计算机能力,教资统考中学《综合素质》:信息处理能力(一)
  2. 北京智能计算产业研究院落户顺义,中科睿芯联手计算所、顺义区打造“产业园2.0”...
  3. UML学习总结(3)——StarUML指导手册
  4. JavaScript实现integerPartition整数划分算法(附完整源码)
  5. docker添加阿里云专属镜像
  6. 力荐!计算机视觉开源工具中的瑞士军刀—Dlib最新高级特性教程
  7. 待支付取件费用是什么意思_1元保管费与直接取件,你赞赏丰巢快递柜了吗?...
  8. 聚能聊每周精选 第十一期
  9. Oracle 升级(10.2.0.1 -- 10.2.0.4) 包含升级包
  10. 【Debug】IAR在线调试时报错,Warning: Stack pointer is setup to incorrect alignmentStack,芯片使用STM32F103ZET6...
  11. 全国计算机二级c真题及答案,全国计算机二级c语言历年真题及答案
  12. NA Express
  13. UiPath 网页元素识别
  14. word中如何将空格变成换行
  15. Qt的gui编程是,点击一次button出现两次action
  16. 图解TCP/IP 第一章 网络基础知识
  17. 【MySQL】在线无锁无延迟DDL神器gh-ost
  18. win10 桌面体验 服务器,windows server 2012 R2 安装桌面体验
  19. 使用HM NIS Edit制作软件安装包
  20. 淘宝淘口令解密,解析,转换接口,API对接

热门文章

  1. 我在神策做研发 | 成长中的成都研发中心
  2. 丰农控股 CIO 王轶枭:万亿级农资市场,神策数据助力大丰收筑就数据驱动核心竞争力...
  3. 字符串切割(split())
  4. 不让复制是不可能的----js获取选中文字
  5. 阿里云ECS服务器搭建wordpress个人博客网站【详细图文教程】
  6. 《AR与VR开发实战》——2.7 3D物体识别
  7. [0] 各类图形的数据大小获得
  8. 用到的oracle sql语句-001
  9. 记与公司内网微博的谈话
  10. public private protected