static

#include<iostream>
using namespace std;
class A;
A* a1 = NULL;
struct C
{
	int C1;
	int C2;
};
class A
{
public:
	A()
	{
		a = 1;
		cc.C1 = 3;
		cc.C2 = 4;
	}
private:
	int a;
	C cc;


public:
	static int b;
	void printA(){cout<<"a: "<<a<<endl;
	//b ++;
	}
	static void printB(){
		//cout<<"a"<<a<<endl;
		//cout<<"C1"<<c.C1<<endl;//報錯爲“.C1”的左邊必須有類/結構/聯合
		cout<<"C1: "<<a1->cc.C1<<endl;
		cout<<"b"<<b<<endl;
	}


};


int A::b = 5; //沒有這一句執行不了!FUCK




class AA
{
public:
	static int a;
	static void printAA()
	{
		a = 5;
		cout<<"a: "<<a<<endl;
	}
};


int main()
{
	a1 = new A();




	a1->printA();


	A::printB();
	delete a1;




	AA a2;
	//AA::printAA();
	//cout<<AA::a<<endl;  //無法解析的外部符號 "public: static int AA::a" (?a@AA@@2HA)


	return 0;


}


1.static 引用非STATIC的方法,通過類對象進行引用!

2.static變量要不要聲明初始化!


發佈了60 篇原創文章 · 獲贊 1 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章