美文网首页C/C++学习笔记C++
3.0 C++远征:构造函数

3.0 C++远征:构造函数

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

    6-1构造函数

    1.内存分区

    内存分区.png

    2.对象结构

    对象在被实例化之前,并不占用堆中或栈中的内存空间。

    对象结构.png

    实例化的三个car对象,每个对象都会在栈上开辟一片内存。私有变量都不相同,占据着不同的内存。

    而int getWheelCount()的逻辑代码在内存的代码区,只编译出一份,供所有的对象使用。谁需要谁使用,找到函数入口就可以进行调用。

    3.对象初始化

    (1)有且只有一次的初始化动作

    构造函数,避免忘记或重复进行初始化。

    构造函数的规则:

    构造函数的规则.png

    构造函数的特点:

    构造函数的特点.png

    无参构造函数:

            class Student{
            public:
                Student(){
                    m_strName = "Jim";
                }
            private:
                string m_strName;
            }
    

    有参构造函数:

            class Student{
            public:
                Student(string _name){
                    m_strName = _name;
                }
            private:
                string m_strName;
            }
    

    重载构造函数:

            class Student{
            public:
                Student(string _name){
                    m_strName = _name;
                }
                Student(string _name){
                    m_strName = _name;
                }
            private:
                string m_strName;
            }
    

    (2)根据条件进行初始化动作

    相关文章

      网友评论

        本文标题:3.0 C++远征:构造函数

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