C++模板的定製四:定製成員函式和預設類參 (轉)

worldblog發表於2007-12-11
C++模板的定製四:定製成員函式和預設類參 (轉)[@more@]

 

 

C++模板的定製四:定製成員和預設類參:namespace prefix = o ns = "urn:schemas--com::office" />

一、  定製成員函式

定製模板類成員函式,就是定義一個指定型別的類成員函式取代模板類定義的成員函式,實現特殊的功能,從而完成模板類成員函式的定製。

  template

  class classname

{

  public:

    classname(T t):_val(t){}

~classname(){}

void display();

private:

T _val;

};

 

template

void classname:: display()

{

  cout<<_val>

}

上面是一個classname 類的宣告,classname 類中有個display()函式,它輸出成員_val到控制檯。下面我們就來定製classname 類中的display()函式,使其有不同的表現。、//定製成員display()函式:

void classname:: display()

{

  if(NULL==_val)

cout<

else

cout<<_val>

}

這就是classname 類中成員函式display()的char*型別定製成員函式。

  二、模板類的預設類參

  在宣告一個模板類時,其類參可以提供預設值。

    template

  class classname

{

  public:

    T _val;

};

宣告一個類classname可以兩種形式。

1.classname obj1;    //以double為引數宣告一個變數

2.classname obj2;      //以預設型別int為引數宣告一個變數

文章寫的倉促,有錯別字或錯誤請大家多批評指出。謝謝大家的捧場,在下感激不盡,歡迎和大家交流 (-----袁凱-----)。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-991354/,如需轉載,請註明出處,否則將追究法律責任。

相關文章