静态成员:静态数据成员和静态成员函数

    当需要让类的所有实例共享同一份数据时,就需要用到静态成员:

   

    1. 静态数据成员

    在类声明的多个实例中,每一个实例都维持着一份该类所有数据成员的拷贝。有时候需要对该类的所有实例维持一个个共享的数据。 如:  static int number;

    静态数据成员具有静态生存期。它不属于任何一个实例,只能通过类名来访问,一般的格式如:A :: number;

其初始化:int A :: number = 0;  (此处的A为类名)

 

    2. 静态成员函数

    为什么要写成静态成员函数? 答:在一些情况下,需要编写一个由类和对象都可以访问的函数;

    普通成员函数和静态成员函数的区别?答:普通成员函数必须在声明了实例后才可以被访问,静态成员函数不需要类的实例就可以直接访问;

    static int function(int a, int b);

    静态成员函数具有静态生存期,它不属于任何一个实例,只能通过类名来访问:

    A :: function(4, 5);

 

    类的静态成员函数可以直接访问该类的静态数据成员和静态成员函数,而不能直接访问非静态数据成员和非静态数据成员函数。因为非静态成员的访问需要类的实例进行。所以静态数据成员函数要访问类的非静态成员,需要通过参数取得

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值