天天看點

C++ Primer 學習筆記_82_模闆與泛型程式設計 --類模闆成員[續2]模闆與泛型程式設計

六、完整的Queue類

Queue的完整定義:

七、類模闆的static成員

類模闆可以像任意其他類一樣聲明static成員。

定義了名為Foo的類模闆,它有一個名為count的publicstatic成員函數和一個名為ctr的privatestatic 資料成員。

Foo類的每個執行個體化[謹記:不是每個對象]都有自己的static成員:

每個執行個體化表示截然不同的類型,是以給定執行個體化所有對象都共享一個static成員。是以,Foo<int>類型的任意對象共享同一static成員 ctr,Foo<string> 類型的對象共享另一個不同的ctr成員。

1、使用類模闆的static成員

通常,可以通過類類型的對象通路static成員或者使用作用域操作符直接通路static成員。當然,當試圖通過類使用static成員的時候,必須引用實際的執行個體化:

注:static成員函數隻有在程式中使用時才進行執行個體化。

2、定義static成員

像使用任意其他static資料成員一樣,必須在類外部出現資料成員的定義。在類模闆含有static成員的情況下,成員定義必須指出它是類模闆的成員:

static資料成員的名字以Foo<T>::為字首,表示成員屬于類模闆Foo。

繼續閱讀