C++中静态数据成员,静态成员函数(static)

类中的静态成员
    1. 在类中的静态数据,属于类共享,不属于对象独有
    2. 即使没有定义对象,静态成员也是存在的
    3. 静态数据成员在类中说明,在类外定义 并且会给他分配内存空间,并初始化(一经定义则必须初始化)
    4. 可以通过对象去访问静态成员,但是这里容易让人产生误解,以为他们是成员变量(静态成员是被所有对象共享的
        所以也可以去修改它) 我们一般通过   类名::静态成员  去访问它们
    5. 他的生存周期一直存在于整个程序的生命周期
 
静态成员的定义
 int Class : : a=10;
数据类型+类名+作用域符号+变量名=10;
 
静态成员函数
    1. 静态成员函数属于一个类,而不属于类中的任何对象
    2. 静态成员函数的说明和定义与静态数据成员一样,函数可以实现在类体内,也可以实现在类体外
    3.  静态成员函数在实现中,可以直接使用静态成员,也可以通过对象来使用非静态成员!!
        这里说明,静态成员函数不能是虚函数,不能直接访问非静态成员,因为他是类所有,而不是对象所有
        虚函数和静态成员是对象创建的时候才会有的,这里静态成员函数不属于对象,那么也就不能定义为虚函数,更不能使用成员变量
 
C语言的static和C++static总结:
static在C中的用法,对于C++来说是全盘接受的 两者的不同就在于C++中的类使用
C中的static变量其影响不在于作用域,在于其存储方式
C中的static函数,即内部函数,它其实是将访问权限限值在文件内部,文件外部无法访问
也是一种隐藏机制(类似当成private) 如果要访问需要加上extern  而extern是默认的
 
C语言中局部静态变量 作用域是函数体内,生存周期是整个程序运行期间

转载于:https://www.cnblogs.com/Tempt/p/9987510.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值