1、test.h
1class
test
2;
此處,static 與 virtual不能共用,此時這裡去掉virtual關鍵字。
2、test.h
1class
test
2;
test.cpp
1 #include 2 #include "test.h"3
4using
namespace
std;
56 test::test():mlay(1)7
9 test::~test()
1012
void
test::action()
13
由於mlay是靜態資料成員,所以不可以初始化。
而mout是非靜態的,所以可以初始化,如下。
test.cpp
1 #include 2 #include "test.h"3
4using
namespace
std;
56 test::test():mout(1)7
9 test::~test()
1012
void
test::action()
13
statictest.cpp
1: 定義控制台應用程式的入口點。2//
34 #include "
stdafx.h
"5 #include "
test.h"6
7int _tmain(int argc, _tchar*ar**)
8
結果為2。
3、test.cpp
1 #include 2 #include "test.h"3
4using
namespace
std;
56 test::test():mout(1)7
9 test::~test()
1012
void
test::action()
1317
void
test::go()
18
statictest.cpp
1: 定義控制台應用程式的入口點。2//
34 #include "
stdafx.h
"5 #include "
test.h"6
7int _tmain(int argc, _tchar*ar**)
8
生成解決方案有問題,說明靜態方法不可以訪問非靜態成員。
靜態成員函式與靜態成員 static
引用 成員函式 無論靜態函式還是非靜態函式,都是屬於類的 這一點與資料成員的靜態非靜態不同 物件並不擁有函式的拷貝.兩者的區別在於 非靜態的函式由類物件 加.或指標加 呼叫,這時將向函式傳遞this指標.而靜態函式由類名 或物件名.呼叫,但靜態函式不傳遞this指標,不識別物件個體,所以通常用來對類...
靜態成員方法與靜態成員變數
package com.statickeyword public class staff staff int id,string name void printcountry 二 靜態成員函式 a 只可訪問靜態成員變數 public static void main string args 執行結果...
C 靜態成員和靜態成員函式static
資料成員可以分靜態變數 非靜態變數兩種.靜態成員 靜態類中的成員加入static修飾符,即是靜態成員.可以直接使用類名 靜態成員名訪問此靜態成員,因為靜態成員存在於記憶體,非靜態成員需要例項化才會分配記憶體,所以靜態成員不能訪問非靜態的成員.因為靜態成員存在於記憶體,所以非靜態成員可以直接訪問類中靜...