C++(静态成员变量、函数、this指针)

静态成员变量及函数

使用static关键字定义,需要注意静态变量不单独属于某一个对象,所有该类的对象都可以访问同一个静态变量,但是私有静态变量不能共享。成员函数一样。

class car
{
   
	public:
		static string m_name;//静态成员变量
		//静态成员函数只能访问静态变量,因为静态成员函数所有对象共享,故调用时里面如果使用了非静态变量
		//又因为静态成员函数不属于类对象本身,则编译器无法识别调用的是哪个对象的非静态变量
		//更简单的说,当直接使用域作用符,如car::nameIs("BWM",1);里面包含非静态变量
		//但是并不能知道调用的是谁的num变量,甚至这个类还没创建过对象,那怎么用
		static void nameIs(string name)//static void nameIs(string name,int num)
		{
   
			m_name = name;
			//m_num = num;
			cout<<"The car's name is "<<name<<endl;
		}
	private:
		static int m_num;
};
//静态变量使用前需要在类外初始化
string car::m_name = 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值