类的静态成员

一、静态数据成员

1.静态数据成员属于类,普通数据成员属于某一实例化对象;

2.静态数据成员与静态变量一样,是在编译时创建并初始化,它在该类的任何对象被建立之前就存在;

3.静态数据成员不能在类中初始化,必须在类外定义初始化;一般在类声明之后或main()之前;

4.私有静态数据成员不能被类外部函数访问,也不能用对象进行访问。

静态数据成员的使用方法和注意事项如下:

1、静态数据成员在定义或说明时前面加关键字static。

2、静态成员初始化与一般数据成员初始化不同。静态数据成员初始化的格式如下:

    <数据类型><类名>::<静态数据成员名>=<值>

3、静态数据成员是静态存储的,它是静态生存期,必须对它进行初始化。

4、引用静态数据成员时,采用如下格式:

   <类名>::<静态成员名>

二、静态成员函数

     

      定义格式:

            static 返回类型 静态成员函数名(实参表);

      公有静态数据成员的访问格式:

            1.  类名::静态成员函数名(实参表)

            2. 对象.静态成员函数名(实参表)

            3. 对象指针->静态成员函数名(实参表)

       说明:

             1. 静态成员函数可以定义成内嵌的,也可以在类外定义(在类外定义时,不要用static前缀);

             2. 一般情况下,静态成员函数主要用来返回全局变量或同一个类中的静态数据成员(当它与静态数据成员一起使用时,达到了对同

                 一个类中对象之间共享数据进行维护的目的);

             3. 编译系统将静态成员函数限定为内部连接,即,与现行文件相连接的其他文件中的同名函数不会与该函数发生冲突,维护了该函 数使用的安全性,这是使用静态成员函数的另一个原因;

             4. 在一般的成员函数中,都隐含有一个this指针,用来指向对象自身,而在静态成员函数中是没有this指针的,因为它不与特定的对象想联系,调用时使用如下格式较好:     类名::静态成员函数名(); 

             5. 私有静态成员函数不能被类外部函数和对象访问。

大摩2013在线笔试:

在VS2012中只有B正确,

在CDE中,objOut的成员只有m_Out,无法通过objOut访问内部类;


转载于:https://my.oschina.net/u/347414/blog/124537

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值