靜態成員變數與普通成員變數的區別

2021-06-16 09:33:35 字數 537 閱讀 1301

1.靜態成員變數是屬於整個類的全域性變數,它不單屬於某乙個物件;普通成員變數是屬於類中的物件,它不能被所有物件共享。如:

class a;

int a::n=0;

void show(){cout《輸出:1a 2a 3a 4a 5a

該例沒有建立乙個物件,但是去可以通過類名和限定符訪問靜態變數n,並且對其進行自加操作,這說明靜態變數在沒有物件之前就存在。

以上講的靜態成員變數都是公有的,因此程式中的所有函式都可以訪問,假如我們不想讓所有的函式都訪問它,則可以將它宣告為私有,這樣就只有通過該類的公有成員函式才能訪問它,但前提是比必須建立該類的乙個物件。

#include

using namespace std;

class a{

public:

void func(){cout《總結:假如我們要在乙個類中的所有物件間共享某種資料,不如將該資料宣告為靜態成員變數。假如你不想讓該類之外的所有函式都可以訪問該資料,可將其定義為私有成員,那麼就只有該類的公有成員才可以訪問它了。訪問的前提是必須建立乙個屬於該類的物件。

PHP 類的靜態成員變數和普通成員變數對比

有很多人可能弄不清楚,在php中類的靜態成員變數和普通成員變數有什麼區別?1 類的靜態方法只能訪問靜態成員變數,而不能訪問非靜態成員變數 2 靜態成員變數不需要例項化就能訪問,且訪問速度快一些 3 類的靜態成員變數只屬於這個類,但類的所有例項共享這個靜態成員變數 乙個由 c c 編譯過的程式占用的記...

靜態成員方法與靜態成員變數

package com.statickeyword public class staff staff int id,string name void printcountry 二 靜態成員函式 a 只可訪問靜態成員變數 public static void main string args 執行結果...

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

此文針對於初學者或者對這一部分掌握不太清楚的人。首先靜態成員函式的宣告 static void setname qstring name 需要在函式的宣告前加static關鍵字。定義的時候和普通成員函式一樣,不需要加static,但是靜態成員函式只能訪問靜態成員變數和靜態成源函式。class dem...