c++面试秘籍167页:静态成员变量的使用

#include<iostream>
using namespace std;
class Myclass
{
	public:
		Myclass(int a,int b,int c);
		void GetNumber();
		void GetSum();
	private:
		int A;
		int B;
		int C;
		int Num;
		static int Sum;	
};
int Myclass::Sum=0;

Myclass::Myclass(int a,int b,int c)
{
	A=a;
	B=b;
	C=c;
	Num=A+B+C;
	Sum=A+B+C;
}
void Myclass::GetNumber()
{
	cout<<"Number = "<<Num<<endl;
}
void Myclass::GetSum()
{
	cout<<"Sum = "<<Sum<<endl;	
}

int main()
{
	Myclass M(3,7,10),N(14,9,12);
	M.GetNumber();
	N.GetNumber();
	M.GetSum();
	N.GetSum();
}
//程序输出结果为:

/*
	Number = 20
	Number = 34
	Sum = 34
	Sum = 34
因为Sum为静态类型 它为Myclass类所有,被Myclass的所有对象所共享
如果把 M(3,7,10)放在后面 则SUM=20;

与全局对象相比?使用静态数据成员有什么优势?
1.静态数据成员没有进入程序的全局名字空间,因此不存在程序中其他全局名字冲突的可能性
2.使用静态数据成员可以隐藏信息。因为静态成员可以是private成员,而全局对象不能。 

 
*/

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值