靜態成員
類可以包含靜態成員數據和成員函數。當數據成員被聲明為“靜態”時,只會為類的所有對象保留一個數據副本。
靜態數據成員不是給定的類類型的對象的一部分。因此,靜態數據成員的聲明不被視為一個定義。在類范圍中聲明數據成員,但在文件范圍內執行定義。這些靜態類成員具有外部鏈接。下面的示例闡釋了這一點:
// static_data_members.cppclass BufferedOutput{public: // Return number of bytes written by any object of this class. short BytesWritten() { return bytecount; } // Reset the counter. static void ResetCount() { bytecount = 0; } // Static member declaration. static long bytecount;};// Define bytecount in file scope.long BufferedOutput::bytecount;int main(){}在前面的代碼中,該成員 bytecount 在類 BufferedOutput 中聲明,但它必須在類聲明的外部定義。
在不引用類類型的對象的情況下,可以引用靜態數據成員。可以獲取使用 BufferedOutput 對象編寫的字節數,如下所示:
long nBytes = BufferedOutput::bytecount;
對于存在的靜態成員,類類型的所有對象的存在則沒有必要。還可以使用成員選擇(. 和 主站蜘蛛池模板: 定结县| 五华县| 茂名市| 兴和县| 灵川县| 麦盖提县| 安乡县| 金门县| 泰宁县| 绍兴市| 唐海县| 资兴市| 凤台县| 金塔县| 泗水县| 黄陵县| 登封市| 霍城县| 睢宁县| 京山县| 嘉禾县| 肥城市| 诸城市| 信阳市| 杂多县| 民乐县| 乌鲁木齐县| 咸宁市| 乳山市| 桃园市| 芦溪县| 阿克陶县| 江陵县| 定日县| 都昌县| 福泉市| 莱阳市| 安福县| 延津县| 综艺| 莱西市|