类中数据共享和保护

数据共享 (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()
{
}

猜你喜欢

转载自blog.csdn.net/qq_41596915/article/details/88429004
今日推荐