關於c++靜態成員函數

1.申明時候必須加static
2.初始化不同,格式爲 返回類型 類名 成員名 =值
3.初始化在類外進行,不加static,如果不初始化會使用默認值,但是如果不在類外聲明初始化會報錯(或者說,類外必須有定義)
4.如果是public的,那麼可以在程序中用::引用!(問如果私有,那麼可以被公有static成員函數使用,是否可以被公有非靜態成員函數使用)
5.非靜態成員函數可以使用靜態成員,靜態成員函數不可以使用非靜態成員.因爲靜態成員函數沒有this指針
6.不能使用類名訪問非靜態成員,如果那樣,就亂套了。試想,如果那樣,是不是可以隨意更改類成員了,那麼對象成員將會何去何從?(對象是類的實例,類是對象的類型)(問:在成員函數實現中是否可以用類名訪問成員,這個根據以前的經驗是可以的,起碼能夠根據類名訪問類的類型成員,其他成員估計也可以!)
7.構造函數和析構函數負責非static成員的創建和銷燬,不負責static成員
8.static成員可以在const成員函數中更改值,但是非static成員不可以.
9.靜態成員可以做成員函數默認形參,但是非靜態成員不可以做成員函數默認形參。
10.靜態成員函數不能被const弄成const成員函數
11.靜態成員函數地址可以用普通函數指針存放,但是非靜態成員函數的地址只能用類的指針存放!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章