基礎知識 靜態成員變數

2021-09-30 07:07:27 字數 709 閱讀 1055

#include "stdafx.h"

#include "iostream.h"

class a

virtual int get()

virtual ~a()

static int total;  //該變數不屬於某個物件,而是屬於整個類中所有物件的成員變數

private:

int it;

};int a::total=0;//當例項化該類的乙個物件的時候,

//可能無法給它分配記憶體 這樣必須在全域性為它開闢記憶體空間

int main()

/*************************************

1.靜態成員變數是屬於整個類的全域性變數,它不單屬於某個物件,

普通成員變數是屬於類中物件的變數,它不能被所有物件所共享

/*************************************

2. 靜態成員變數必須在全域性進行定義,而由於普通變數在建立乙個物件的時候可以對它進行初始化

因此就不需要單獨對它進行定義,只要宣告即可

/**************************************

3.在使用靜態成員變數時,可以不將其限定為某個物件,只與類名連用即可

/**************************************

4.靜態成員變數在沒有物件之前就存在

靜態成員函式 靜態成員變數

靜態的成員函式,同靜態資料成員類似,它也是屬於類,而不是屬於某乙個物件的。靜態成員函式不能訪問非靜態的資料成員,它只能訪問靜態資料成員,也只能呼叫其它的靜態成員函式。原因是 當前物件的位址 this 是被隱含地傳遞到被呼叫的函式的。但乙個靜態成員函式沒有 this 指標,所以它無法訪問非靜態的成員函...

靜態成員變數

在上一課中的靜態成員變數,你了解到的類可以有成員變數是在類的所有物件共享。然而,如果我們的 靜態成員變數是 私人的?考慮下面的例子 1 2 3 4 5 6 7 8 9 10 11 12 13 classsomething intsomething s nvalue 1 initializer int...

靜態成員變數

程式設計實習 郭煒 微博 劉家瑛 微博 資訊科學技術學院 1 靜態成員變數和靜態成員函式 ifndef test define test include include include define n 11000 using namespace std endif include test.h c...