静态成员变量

1、静态成员变量

  • 普通成员变量每个对象有各自的一份,而静态成员变量一共就一份,为所有对象共享。
  • sizeof 运算符不会计算静态成员变量。
  • 静态成员变量本质上是全局变量,哪怕一个对象也不存在,类的静态成员变量也存在。
  • 在静态成员函数、非静态成员函数内部都可以访问静态成员。
  • 在类内部声明,在类体外面定义并初始化。
class test
{
    private:
        int id; 
    public:
        static int num;//声明静态成员变量 
        test(int i)
        {
            id=i;
            cout<<"constructor"<< id<<" called."<<endl;
        }
        ~test()
        {
            cout<<"destructor"<< id<<" called."<<endl;
        }
        static void print()
        {
            cout<<num<<endl;
        }
 } ;
 int test::num=0;//定义并初始化静态成员变量 

2、静态成员函数

  • 普通成员函数必须具体作用于某个对象,二静态成员函数并不具体作用于某个对象
  • 静态成员(静态成员变量、静态成员函数)不需要通过对象就能访问。
  • 静态成员函数本质上是全局函数
  • 设置静态成员的机制的目的是将和某些类紧密相关的全局变量和函数写到类里面,看上去像一个整体,易于维护和理解。
  • 在静态函数中,不能访问非静态成员变量,也不能调用非静态成员函数。只能访问静态成员,调用静态函数。

3、访问静态成员

  • 类名::成员名
  • 对象名.成员名
  • 指针->成员名
  • 引用.成员名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值