zoukankan      html  css  js  c++  java
  • C++类模板

      可以像定义函数模板一样去定义类模板。定义形式为:

      template <模板形参表>

      class 类模板名{

        成员列表

      };

      <模板形参表>的格式一般为:<class 类型参数1,clsss 类型参数2,...>

      利用类模板可以建立支持各种数据类型的类。

      例子:

      template<class T>

      class Point{

      public:

        Point():x(0),y(0){}

        Point(const T a,const T b);

        void Set(const T a,const T b);

        void Display(){cout<<"Display:"<<"x="<<x<<",y="<<y<<endl;

      private:

        T x,y;

      };

      如果在类模板外部定义成员函数,形式为:

      template<模板形参表>

      返回类型 类名<类型参数表>::函数名(形式参数列表)

      {

        函数体

      };

      例如:

      template<class T>

      void Point<T>::Set(const T a,const T b)

      {

        x=a,y=b;

      };

      用类模板定义对象时,必须为模板形式参数显式指定类型实参,将类模板实例化,一般形式为:

      类模板名<类型实参表>对象名列表;

      例如:

      Point<int >a,b;

      Point<double>m(1,2),n(3,4);

      模板形参表可以是非类型形参,其形式与函数形参表相似:

      template<class T ,int N>

      class Se{

      ...

      };

      template<class T,int N>

      void Se<T,N>::Set(int i, T value)

      {...}

      

  • 相关阅读:
    no copy constructor available or copy constructor is declared &#39;explicit&#39;
    Jetty:配置连接器
    DataTable数据转换为实体
    iOS 单元測试之XCTest具体解释(一)
    UDP C/S编程
    xml的加密和解密
    lua 加密
    shell脚本加密
    实现业务系统中的用户权限管理--设计篇
    通用用户权限系统设计(数据库设计)
  • 原文地址:https://www.cnblogs.com/liuzhenbo/p/11215573.html
Copyright © 2011-2022 走看看