當函數的行爲對所有的派生類都一致時,可以將其聲明爲靜態成員函數。
好處:
1.可以實現某些特殊的設計模式。如:Singleton
2.可以把某些系統的回調函數以靜態函數的形式封裝到類的內部。因爲系統API的回調函數通常都是獨立的,沒有this指針。
3.可以封裝某些算法。
4.靜態函數不需要實例化就可以被調用,所以,一切不需要實例化就可以有確定行爲方式的函數都應該封裝成靜態成員函數。
static成員變量不屬於對象,屬於類。對派生類來講,所有派生類與基類共有static成員。
static成員變量必須在類外初始化,並且不能被聲明爲const。
成員變量的作用:
1.避免名字衝突,因爲每一個成員變量都屬於類,在類的作用域中。
2.結構更加清晰。
3.可以封裝爲私有。