C++基础之静态成员

C++类中的成员指的是成员变量和成员方法。
在成员前加static关键字可以使成员变成静态成员。
因此静态成员包括静态成员变量和静态成员方法。
静态成员的特点:
不管此类创建了多少对象,静态成员只有一个拷贝,这个拷贝被所有属于这个类的对象所共享

注意:
静态成员变量:
1.静态成员变量必须在类中声明,在类外定义
2.静态成员变量不属于某个对象,而是属于类,所有对象共享
3.静态成员变量可以通过类名或者对象名的方式来获取
4.静态成员变量放在private关键字下类外无法访问只能类内访问
静态成员函数:
1.静态的成员函数不能访问非静态的成员变量,可以访问静态的成员变量。因为静态成员函数在编译时就产生了(分配了内存),而普通的成员变量在对象创建时才分配内存,因此无法访问。
2.普通的函数可以访问静态成员变量也可以访问非静态成员变量,成员函数
3.可以通过类名或者对象名访问

class Person {
public:

	int m_A;	// 普通的成员变量
	static int m_B;	// 静态的成员变量 在类内进行声明

	// 静态的成员函数
	static void fun() {
		// m_A = 10;
		m_B = 2000;
		cout << "静态成员函数被调用了" << endl;
	}

	void fun1() {
		m_A = 20;
		m_B = 200;
	}

};
int Person::m_B = 100;	// 静态成员变量在类外定义
Person p1;
cout << p1.m_B << endl;
Person p2;
cout << p2.m_B << endl;
p2.m_B = 1000;	// 通过p2修改m_B静态成员变量,p1访问是修改后的结果,静态成员变量被类的所有对象所共享。
cout << p1.m_B << endl; //对象名方式获取
cout << Person::m_B << endl;//类名方式获取
Person::fun();//使用类名方式访问静态函数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值