• 类模板的用法


    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
  • 相关阅读:
    centos安装odoo10及安装问题解决
    crontab实现定时任务
    pycharm发布代码
    centos下安装dblib
    windows安装face_recognition并进行人脸对比
    centos安装nginx1.9
    win10安装fast_client
    WIN10搭建python最新环境
    Linux常见命令
    centos安装python3.7
  • 原文地址:https://www.cnblogs.com/jiu0821/p/4189508.html
Copyright © 2020-2023  润新知