一個簡單的類模板的使用

來源:互聯網
上載者:User

#include<iostream>
#include <string>
using namespace std;
template<class T>
class Mylist
{
public:
 Mylist(T x,T y):a(x),b(y){};
 void print();
private:
 T a;T b;
};

template<class T>//不可少
void Mylist<T>::print()
{
 cout<<"a="<<a<<" "<<"b="
  <<b<<endl;
}
void main(void)
{
 Mylist<string>  mylist("string1","string2");
 Mylist<int>  mylist2(2,5);
 mylist.print();
 mylist2.print();
   system("pause");
}聲明和定義都要放在同一個 檔案中,否則會出現錯誤提示 error LNK2019: 無法解析的外部符號。  

PS:如果非要將聲明和定義分開,那麼在 .cpp 檔案中需要具體定義出該模板支援什麼類型,比如在 .cpp 檔案末尾添加 template class CTest<int> ,如果想用其他類型,也要把相應的類型對應的語句寫在 cpp 末尾。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.