美文网首页C/C++学习笔记C++
4.0 C++远征:构造函数初始化列表

4.0 C++远征:构造函数初始化列表

作者: 青_阳 | 来源:发表于2016-11-18 16:37 被阅读15次

    构造函数初始化列表

    1.默认构造函数

    在实例化对象时不用传参的函数,叫做默认构造函数。

    2.初始化列表

    代码示范:

    class Student{
        public:
            Student():m_strName("Jim"), m_iAge(10){}
        private:
            string m_strName;
            int m_iAge;
    };
    

    ​ 只能用小括号赋值。

    特性:

    ​ (1)初始化列表先于构造函数执行;

    ​ (2)初始化列表只能用于构造函数;

    ​ (3)初始化列表可以同时初始化多个数据成员。

    3.初始化列表存在的必要性

    举例:

    class Circle{
        public:
            Circle(){
              m_dPi = 3.14; // 错误,不能给const类型用=赋值
            }
        private:
            const double m_dPi;
    };
    

    只能通过初始化列表来实现:

    class Circle{
        public:
            Circle():m_dPi(3.14);
        private:
            const double m_dPi;
    };
    

    相关文章

      网友评论

        本文标题:4.0 C++远征:构造函数初始化列表

        本文链接:https://www.haomeiwen.com/subject/arqspttx.html