zoukankan      html  css  js  c++  java
  • 类模板的用法

    1.格式:template<模板参数表>  (参数可以直接定义默认值)

        class 类名

        { ...};

    其成员函数可以在类外定义。

    eg:

     1 template <class TNO,class TScore=int,int num=10>
     2 class S
     3 {
     4 private:
     5     TNO Sid[num];
     6 public:
     7     int bel(TScore ascore);
     8     void sort();
     9 };
    10 template <class TNO,class TScore,int num>
    11 int S <TNO,TScore,num>::bel(TScore ascore)
    12 {
    13     return 0;
    14 }
    15 template <class TNO,class TScore,int num>
    16 void S <TNO,TScore,num>::sort()
    17 {
    18     return Sid[0];
    19 }
    View Code

    2.栈类模板的实现:

     1 #include <iostream>
     2 using namespace std;
     3 
     4 template <class T>
     5 class Stack
     6 {
     7 private:
     8     int size;
     9     int top;
    10     T* space;
    11 public:
    12     Stack(int=10);
    13     ~Stack()
    14     {
    15         delete []space;
    16     }
    17     bool push(const T&);
    18     T pop();
    19     bool IsEmpty() const
    20     {
    21         return top==size;
    22     }
    23     bool IsFull() const
    24     {
    25         return top==0;
    26     }
    27 };
    28 template <class T>
    29 Stack <T>::Stack(int size)
    30 {
    31     this->size=size;
    32     space=new T[size];
    33     top=size;
    34 }
    35 template <class T>
    36 bool Stack<T>::push(const T& element)
    37 {
    38     if(!IsFull())
    39     {
    40         space[--top]=element;
    41         return true;
    42     }
    43     return false;
    44 }
    45 template <class T>
    46 T Stack<T>::pop()
    47 {
    48     return space[top++];
    49 }
    50 int main()
    51 {
    52     Stack<char> S1(4);
    53     S1.push('x');
    54     S1.push('y');
    55     S1.push('z');
    56     S1.push('u');
    57     S1.push('v');
    58     while(!S1.IsEmpty())
    59         cout<<S1.pop()<<endl;
    60     return 0;
    61 }
    View Code
  • 相关阅读:
    EV录屏
    Oracle 游标详解 【转载至CSDN「鱼丸丶粗面」】
    ORACLE查询表数据占用存储空间大小(清理表碎片)
    开源项目
    Shiro 简介(认证、授权、加密、会话管理、与 Web 集成、缓存等)
    OSCHINA 公布 2019 年度最受欢迎中国开源软件
    腾讯开发者手册
    hutool JAVA 工具类
    小程序登录
    微信小程序button组件样式
  • 原文地址:https://www.cnblogs.com/jiu0821/p/4189508.html
Copyright © 2011-2022 走看看