class中成员变量的初始化

在类class的定义中,不同定义方式的成员变量的初始化方式各不一样。

对于变量的初始化主要分以下几种情况:

1)普通变量

      一般的成员变量的初始化不能在定义是进行初始化的,但此类数据成员是能够在构造函数中进行初始化的,也能够在初始化列表中进行初始化。

       使用构造函数定义方式如下:

       class  test{

        public:

             int n1,n2;

             test(){

                 n1=2;

                 n2=3;

              }

          };

       使用初始化列表的形式定义如下:

     class  test{

        public:

             int n1,n2;

             test():n1(2),n2(3){

              }

          };

在初始化列表中函数的初始化顺序是按照变量的定义顺序来初始化的,与初始化列表中变量的执行顺序无关。

2)const 成员变量

    对于const成员变量不能像普通成员变量一样在构造函数中进行初始化操作,它只能在初始化列表中进行初始化操作。

    class  test{

        public:

             const int n1,n2;

             test():n1(2),n2(3){

              }

      };

3)static成员变量

   对于static成员变量它是属于类的范畴,不属于特定对象,既不能在构造函数中进行初始化工作,也不能在初始化列表中进行初始化,只能在类的外面进行定义。

    class  test{

        public:

             static int n1,n2;

             test(){

              }

      };

    int test::n1=2;

    int test::n2=3;

4)const static类型的成员变量

    const static修饰的成员变量是静态成员变量,只能在定义的时候对其进行初始化。

    class test{
     public:
            const static  int n1=2,n2=3;
      public:
            test(){
             }
 
};



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值