1. 程式人生 > 其它 >c++中的類和物件_靜態成員

c++中的類和物件_靜態成員

在類的定義中,它的成員包括(成員變數、成員函式),都可用static修飾成靜態成員

不管類建立了多少個物件,靜態成員都只有一個拷貝這個拷貝屬於中國類的物件的共享

靜態成員變數:

  1、記憶體中只有一份,多個物件共用一塊記憶體

  2、類內只能定義不能初始化(限定作用域)定義在全域性

  3、可通過物件和作用域訪問

靜態成員函式:

  1、可訪問靜態成員變數不能訪問普通成員變數

  2、可通過作用域及物件呼叫函式

const修飾的靜態全域性變數:

  1、儲存在常量區不可修改,可在類內定義並且初始化

  2、可通過作用域訪問、物件訪問,靜態成員函式也可訪問

#include <iostream>

#include <string.h>

#include <stdlib.h>

using namespace std;

class person{

public :

static int a;  //類內只能宣告

const static b=0;

static void show(){

cout<<a<<endl;

cout<<b<<endl;

}

};

int person::a=10;

void test01(){

cout<<person::a<<endl; //通過作用域訪問靜態成員變數

person p1;

p1.a=100;   //共用一塊記憶體

cout<<p1.a<<endld //通過物件呼叫靜態成員變數

person::show();

p1.show():

}

test02(){

person p1;

cout<<p1.b<<endl;

cout<<person::b<<endl;

}

int main(){

return 0;

}