C++中的静态成员和静态成员函数

c++中的静态成员:
1.当我们在类中的成员变量前面加上static关键字时,这个变量就变成了静态变量;
2.无论你创建多少个对象,静态成员变量都只有一个副本
3.静态成员变量不能再类中直接初始化,必须使用::符号在外面初始化,且可以直接通过类名::访问到静态变量;
例:

class  Person
{
public:
	static int objectCount;//静态变量
	Person()
	{
		cout << "这里是构造函数" << endl;
		objectCount++;
	}
};
int Person::objectCount = 0;//静态变量初始化,且不能在类中初始化
int main()
{ 
//创建两个静态变量
	Person p1;
	Person p2;
	//通过类名直接访问静态变量
	cout << "一共创建了" << Person::objectCount<<"个对象";
	return 0;
}

c++中的静态成员函数:
1.当我们在函数前面加上static关键字时。这个函数就变成了静态函数
2.静态函数只能操作类中的静态成员变量,且没有this指针
例:

class Person  //人这个类
{
public:
	static int objectCount;   //静态成员变量
	Person()
	{
		cout << "这里是构造函数" << endl;
		objectCount++;
	}
	static int getCount()        //静态成员函数,只能操作静态成员变量
	{
		return objectCount;
	}
};
int Person::objectCount = 0;//静态成员变量初始化
int main()
{ 
//创建两个类
	Person p1;
	Person p2;
	cout << "创建了" << Person::getCount() << "个对象"<<endl;

	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值