學習筆記
要點編譯階段分配記憶體
所有物件共享資料
通過物件,通過類名都可訪問
靜態成員變數如果通過類名訪問不會呼叫建構函式,所以一般不在建構函式中初始化static,e.g. int classname::m_age = 10;
可以有許可權控制(類中定義公私有),一般在類內宣告,類外初始化(通過類名訪問) 要點
可以訪問靜態成員變數,不可以訪問普通成員變數
普通成員函式都可以訪問
通過物件,通過類名都可訪問,e.g. classname::func();
可以有許可權控制(類中定義公私有)
#include
using
namespace std;
class
student
;//初始化靜態成員變數
int student::m_total =0;
float student::m_points =
0.0;
//操作靜態成員變數
student::
student
(char
*name,
int age,
float score)
:m_name
(name)
,m_age
(age)
,m_score
(score)
void student::
show()
//定義靜態成員函式
int student::
gettotal()
float student::
getpoints()
intmain()
C 靜態成員變數和靜態成員函式
資料成員可以分靜態變數 非靜態變數兩種.靜態成員 靜態類中的成員加入static修飾符,即是靜態成員.可以直接使用類名 靜態成員名訪問此靜態成員,因為靜態成員存在於記憶體,非靜態成員需要例項化才會分配記憶體,所以靜態成員不能訪問非靜態的成員.因為靜態成員存在於記憶體,所以非靜態成員可以直接訪問類中靜...
C 靜態成員變數和靜態成員函式
資料成員可以分靜態變數 非靜態變數兩種.靜態成員 靜態類中的成員加入static修飾符,即是靜態成員.可以直接使用類名 靜態成員名訪問此靜態成員,因為靜態成員存在於記憶體,非靜態成員需要例項化才會分配記憶體,所以靜態成員不能訪問非靜態的成員.因為靜態成員存在於記憶體,所以非靜態成員可以直接訪問類中靜...
C 靜態成員變數和靜態成員函式
靜態成員變數和靜態資料成員並不屬於某乙個類物件,而是整個類,為所有物件共有,下面介紹 靜態成員變數和靜態資料成員的一些特徵 class a int tmain int argc,tchar argv 結果如下 1 class a const char a c b 可以通過作用域操作符,類的物件,引用...