C++從0到1基礎(chǔ)教程之特殊成員,10段代碼助你零基礎(chǔ)修行C++
前言
上一章節(jié)主要是詳細(xì)介紹了類的組合。不清楚的可以回顧一下哦。本章節(jié)主要針對(duì)于C++中的特殊成員做一個(gè)詳細(xì)介紹。

類的特殊成員
類的特殊成員:
const成員
static成員
const成員
const數(shù)據(jù)成員
1.必須采用初始化參數(shù)列表做初始化,即:
類名::類名(形參表):對(duì)象1(參數(shù)),對(duì)象2(參數(shù))……
2.const數(shù)據(jù)成員只能被使用,不能被修改,即常屬性
如下測(cè)試代碼:

const成員函數(shù)
用const修飾的函數(shù)叫做常成員函數(shù),注意點(diǎn):
const 修飾詞寫在修飾函數(shù)的后面
常成員函數(shù)不能修改數(shù)據(jù)成員

常對(duì)象
用const修飾的對(duì)象,我們稱之為常對(duì)象 ,對(duì)于常對(duì)象只能調(diào)用常成員函數(shù),切記切記??!如下代碼:

當(dāng)類中存在普通函數(shù)和常成員函數(shù)時(shí) ,普通對(duì)象優(yōu)先調(diào)用普通函數(shù),常對(duì)象只能調(diào)用常成員函數(shù)。
static成員
static數(shù)據(jù)成員
static數(shù)據(jù)成員:使用static修飾的數(shù)據(jù)成員
靜態(tài)數(shù)據(jù)成員須在類外初始化,類外時(shí)不需要static
靜態(tài)數(shù)據(jù)成員不屬于對(duì)象,它的訪問(wèn)可以不需要對(duì)象
靜態(tài)數(shù)據(jù)成員屬于類故依舊受權(quán)限限定詞限定
靜態(tài)數(shù)據(jù)成員的調(diào)用要用類名::限定

上述代碼之所以報(bào)錯(cuò),因?yàn)槭軝?quán)限限定,改為public即可成功運(yùn)行,如下代碼:

static成員函數(shù)
static成員函數(shù):使用static修飾的成員函數(shù)
靜態(tài)函數(shù)類外實(shí)現(xiàn)時(shí)不需要static
靜態(tài)函數(shù)不屬于對(duì)象,它的訪問(wèn)可以不需要對(duì)象
靜態(tài)函數(shù)屬于類故依舊受權(quán)限限定詞限定
靜態(tài)函數(shù)的調(diào)用要用類名::限定

靜態(tài)成員與普通成員的交互
因?yàn)殪o態(tài)數(shù)據(jù)成員的訪問(wèn)不要對(duì)象,所以當(dāng)靜態(tài)函數(shù)調(diào)用非靜態(tài)數(shù)據(jù)成員時(shí)需要指定對(duì)象,指定對(duì)象的方式主要有三種:
靜態(tài)成員函數(shù)以對(duì)象指針為參數(shù)
靜態(tài)成員函數(shù)以對(duì)象為參數(shù)
在靜態(tài)函數(shù)中產(chǎn)生對(duì)象

對(duì)于靜態(tài)函數(shù)調(diào)用靜態(tài)數(shù)據(jù)成員則可以不需要這么麻煩,因?yàn)閮烧叨伎梢圆恍枰獙?duì)象即可訪問(wèn),
如下代碼:

而對(duì)于對(duì)象來(lái)說(shuō)可以像普通函數(shù)一樣調(diào)用靜態(tài)成員,當(dāng)然權(quán)限一定是public屬性,如下代碼:

尾言
本節(jié)課就到這里了,本章節(jié)作業(yè): 用C++特殊成員封裝一個(gè)注冊(cè)類,能自動(dòng)記錄目前注冊(cè)用戶數(shù),并且每一個(gè)用戶有且只有唯一的一個(gè)編號(hào)。
