C++静态成员

C++静态成员提供了一种让不同对象共享数据的方式。静态数据成员只在类中有一个副本,所有对象共享该副本,且需在类外初始化。静态成员函数可以访问静态数据成员,但不能直接访问非静态成员,通常用于访问私有或保护的静态数据成员。静态成员函数可以通过类名或对象来调用,但推荐使用类名以明确它们属于类本身。
摘要由CSDN通过智能技术生成

       对于类中的非静态数据成员,每一个类对象都拥有一个副本,即每个对象的同名数据成员可以分别存储不同的数值,这是保证每个对象都拥有区别于其他对象的特征的需要。而类中的静态成员则是解决同一个类的不同对象之间的数据和函数共享问题的。

       静态成员的特性是不管这个类创建了多少个对象,它都只有一个副本,这个副本由所属于这个类的对象共享。这种共享与全局变量或全局函数相比,既没有破坏数据隐藏的原则,又保证了安全性。

       静态成员表示整个类范围的信息,其声明以关键字static开始,包括静态数据成员和静态成员函数。


》静态数据成员

       静态数据成员声明时要使用关键字static。

      示例:

class myclass
{
private:
	static a;     //私有静态数据成员
	int b,c;
};
      其中,a是静态数据成员,它被myclass类的所有对象所共享,但它不属于myclass类的任何一个对象,它的作用域是类范围。

      静态数据成员在每个类对象中并不占有存储空间,它只是在每个类中分配有存储空间,供所有对象公用。静态数据成员的值对每个对象都是一样的,它的值可以被任何一个对象更新,从而实现了同一类的不同对象之间的数据共享。

      静态数据成员的存储与访问:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值