• c++ 类成员变量初始化总结


    最近在学习c++,不同类型的c++成员变量在初始化的时候也有很有的区别,查了一些资料之后再此记录一下:

    #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;
    }
  • 相关阅读:
    Emacs for OIer 的一些配置
    CF1336E Chiori and Doll Picking 【线性代数,组合计数】
    CF605E Intergalaxy Trips 【贪心,动态规划,期望】
    Luogu6329 【模板】点分树 | 震波
    [SDOI2014]数表
    [BZOJ4403]序列统计
    [BZOJ5099]Pionek
    SP1812 LCS2
    SA & SAM
    [HAOI2016]找相同字符
  • 原文地址:https://www.cnblogs.com/yyl8781697/p/3352134.html
Copyright © 2020-2023  润新知