美文网首页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++远征:构造函数

    6-1构造函数 1.内存分区 2.对象结构 对象在被实例化之前,并不占用堆中或栈中的内存空间。 实例化的三个car...

  • 5.0 C++远征:拷贝构造函数

    拷贝构造函数 引:当使用默认初始化、等号初始化、小括号初始化等三种初始化方式实例化三个对象时,实际只调用了一份特殊...

  • windows逆向3

    VC 程序内存和编译的一些特征C++ 构造函数C++ 成员函数C++ 析构函数C++ 全局对象的构造C++ 全局对...

  • C++ 构造过程

    构造函数 C++中每个类必须有一个构造函数,如果用户没有自行编写构造函数,则C++会自动提供一个无参数的构造函数,...

  • C++:面向对象基础

    构造函数 C++中有三种构造函数:默认构造函数,有参构造函数,拷贝构造函数 类对象的初始化 括号法//默认构造函数...

  • [C++之旅] 10 构造函数

    [C++之旅] 10 构造函数 构造函数的特点 构造函数在对象实例化时被自动调用 构造函数与类同名 构造函数没有返...

  • scala学习笔记-构造函数

    scala的构造函数分为主构造函数和辅助构造函数 【辅助构造函数】比较容易理解,它们同C++和Java的构造函数十...

  • 3.0 C++远征:is a

    4-4is_a 0.派生类Soldier继承自基类Person 1.派生类可以给基类赋值: 2.基类指针可以指向派...

  • JS函数

    1.0 工厂模式 2.0 构造函数模式 3.0 原型模式 4.0 构造函数 + 原型模式 实例化构造函数时,返回的...

  • c++面向对象-构造、析构、初始化列表

    构造函数 构造函数是指创建对象的时候,会调用的函数。C++构造函数可以重载,指针或者对象均可调用构造函数。 析构函...

网友评论

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

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