static 靜態方法與靜態成員

2021-09-08 23:57:39 字數 1415 閱讀 8108

1、test.h

1

class

test

2;

此處,static 與 virtual不能共用,此時這裡去掉virtual關鍵字。

2、test.h

1

class

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修飾符,即是靜態成員.可以直接使用類名 靜態成員名訪問此靜態成員,因為靜態成員存在於記憶體,非靜態成員需要例項化才會分配記憶體,所以靜態成員不能訪問非靜態的成員.因為靜態成員存在於記憶體,所以非靜態成員可以直接訪問類中靜...