天天看點

類中資料共享和保護

資料共享 (static類型):

static類型不屬于某個執行個體,而是屬于某個類,實作類的多個執行個體的資料共享。同一個類所有的對象共享此成員,該成員隻有一份拷貝。

class Date
{
private:
	static int to;			//static類型
public:
	static int total;		//static類型
	Date();
	~Date();
	void Printto();
};
int Date::total=0;		//static類型賦初始值
int Date::to=0;			//static類型賦初始值
void Date::Printto()
{
	cout<<to<<endl;
}
Date::Date()		//每次創造新的對象,total增加1
{
	total++;
	to++;
}
Date::~Date()		//釋放對象的存儲空間,total減1
{
	total--;
	to--;
}


           

資料保護(const類型):

const修飾的成員資料不可更改,隻能通路。常類型函數不可修改本類的資料成員。

class Date
{
private:
	const double PI;		//const類型
public:
	double GetRadius() const;		//const類型
	void Print() const;				//const類型
	Date();
	~Date();
};
double Date::GetRadius() const		//const成員函數定義
{
	return PI*2;
}
void Date::Print() const					//const成員函數定義
{
	cout<<2*PI<<endl;
}
Date::Date():PI(3.1415926)			//const成員資料賦初始值
{
}
Date::~Date()
{
}
           

繼續閱讀