c++ 類成員變量初始化總結

最近在學習c++,不一樣類型的c++成員變量在初始化的時候也有頗有的區別,查了一些資料以後再此記錄一下:ios

#include<iostream>
using namespace std;

//c++ 類成員變量初始化總結

class Test
{
    private:
        int var1;//普通變量
        int &var2;//引用類型
        const int var3;//常成員
        static int var4;//靜態成員
        static const int var5;//靜態常成員 有資料說能夠在申明的時候直接賦值  可是在vc中測試有錯誤   

    public:
        Test():
          var1(1),
          var2(var1),//引用成員不能直接賦實際值
          var3(3)//常成員變量必須在構造函數的初始化列表中進行初始化
          {
             //var1=11;
            //普通成員變量也能夠放在函數體裏,可是本質其實已不是初始化,而是一種普通的運算操做-->賦值運算,效率也低
          }
        void display()
        {
            cout<<"int var1:"<<this->var1<<endl;
            cout<<"int &var2:"<<this->var2<<endl;
            cout<<"const int var3:"<<this->var3<<endl;
            cout<<"static int var4:"<<this->var4<<endl;
            cout<<"static const int var5:"<<this->var5<<endl;
            
        }
};

int Test::var4=4;//靜態成員
const int Test::var5=5;//靜態常成員在此初始化的時候須要加上const 變量

int main()
{
    Test *test=new Test;
    test->display();
    return 1;
}
相關文章
相關標籤/搜索