zoukankan      html  css  js  c++  java
  • 模板函数与模板类

    模板函数的作用就不必多说了。让我们来看看模板函数怎么写。

    template<typename T>void Init();

    template是告诉编译器,我要开始泛型编程了,你不要随便给我报错。

    也可以写成template<class T> void Init();

    这两句声明是一样的,都是声明一个模板函数。

    模板类与模板函数类似。

    语法是:

    template<typename T>

    class MyClass

    {

    public:

    void Output(T t){......}

    void Input(T *t);

    };

    template<typename T>

    void MyClass<T>::Input(T *t){......}

    模板类的成员函数有两种写法,第一种是内联函数。直接在声明语句后面写函数体。

    另外一种写法是在类外部实现函数体,则需要显示的声明为模板。

    调模板函数或模板类时,都需要显式的告诉编程器类型

    但是调用模板类的成员函数时不再需要显式的告诉编译器函数类型。只要告诉模板类的类型就可以了。

    void main(){

    Init<int>(......);

    MyClass<int> my;

    my.Output(......);

    注意:

      无论是模板函数还是模板类,声明与实现不可以分开在两个文件来写,只能在同一个文件写。(不要问为什么)

  • 相关阅读:
    一个很吊的swing循环生成窗口。
    hbase操作的问题
    hadoop+hbase
    linux故障救援
    管道命令xargs
    hadoop浅尝 hadoop与hbase交互
    linux源代码阅读笔记 free_page_tables()分析
    词法分析器flex的使用
    每天一个Linux命令(1): find
    梯度下降
  • 原文地址:https://www.cnblogs.com/LandyTan/p/7282453.html
Copyright © 2011-2022 走看看