二級C++模板:為什么要引入模板

字號:

模板是 C++ 中相對較新的一個特性。模板使程序員能夠快速建立具有類型安全的類庫集合和函數集合,它的實現(xiàn)方便了更大規(guī)模的軟件開發(fā)。
    我們?yōu)槭裁匆褂媚0迥兀?BR>    首先我們分析這樣兩種情況:
    第一種情況是關于函數??疾靸蓚€函數,一個交換兩個整型數,另一個交換兩個浮點數。兩個 swap() 的主體行為是一樣的,無非一個是處理 int 型的,一個是處理 float 型的。所以可以通過重載函數來實現(xiàn)。兩個函數分別如下:
    void swap(int &a,int &b)
    {
    int temp=a;
    a=b;
    b=temp;
    }
    swap(float&a,float &b)
    {
    float temp=a;
    a=b;
    b=temp;
    }
    但是有了模板后,重載就不必要了。
    第二種情況是關于類。對于 student 類的鏈表,我們有:
    class student
    {
    //……..
    private:
    float a;
    }
    class studentlist
    {
    public:
    studentlist();
    void add(student&);
    void remove(student&);
    ~studentlist();
    private:
    //….
    }
    該鏈表類將 student 類對象作為鏈表結點,進行插入、刪除和查找處理。
    同樣如果想處理其他的任何一種類類型的對象作為結點的鏈表,我們必須重新對這鏈表進行定義。因為所定義的類的行為沒有任何變化,只是處理的結點之類型有所不同,所以使得重新定義鏈表的工作很煩人。但是模板可以解決這個問題。下面就來講一講模板的定義和使用。