C++类中static的使用

C++类中static的使用

一 static修饰类中的成员变量
//类中用static修饰的成员变量 类内声明 类外初始化
class b
{
public:

	static int a;

private:

	static int b;
};

int bb::a = 100;//类外初始化
int bb::b = 100;

 void test1()
{
	//1 是通过对象进行访问
	bb b1;
	cout << b1.a << endl;

    //2  是通过类进行访问
	cout << bb::a << endl;//加双冒号是类进行访问
}
二 static修饰类中的成员函数
class s
{
public:

	//静态成员函数
	//静态成员函数只能访问静态成员变量
	static void fun()
	{
		cout << "调用" << endl;
		b = 1;//非静态不能访问
		c = 1;
	}

	//静态成员函数也有访问权限 类外不能访问私有的静态成员函数
private:

	static void fun1()
	{

	}

	int b;
	static int c;
};

//两种访问方式
void test2()
{
	//1 是通过对象进行访问
	ss s1;
	s1.fun();

	//2  是通过类进行访问
	cout << ss::fun << endl;//加个双冒号

	ss::fun1();//静态成员函数也有访问权限 类外不能访问私有的静态成员函数
}

注意!!!

1 私有静态成员变量还是私有静态成员函数都有访问权限 类外不能访问

2 静态变量存储的位置在全局数据区(静态区) 和全局变量一起存储的

3 静态成员函数只能访问静态成员变量 其他的无法访问

4 非静态的成员函数可以访问静态成员变量和静态成员函数

补充

这只是类中static的使用 还有全局变量和局部变量对static的使用 会再补充

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值