博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
3.0 C++远征:构造函数
阅读量:5129 次
发布时间:2019-06-13

本文共 885 字,大约阅读时间需要 2 分钟。

6-1构造函数

1.内存分区

939857-20161119135702967-311449449.png

2.对象结构

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

939857-20161119140542638-376531995.png

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

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

3.对象初始化

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

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

构造函数的规则:

939857-20161119140602310-1780668900.png

构造函数的特点:

939857-20161119140609701-1494794987.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)根据条件进行初始化动作

转载于:https://www.cnblogs.com/xiaoqingyang/p/6076771.html

你可能感兴趣的文章
selenium+python3模拟键盘实现粘贴、复制
查看>>
第一篇博客
查看>>
typeof与instanceof的区别
查看>>
网站搭建(一)
查看>>
SDWebImage源码解读之SDWebImageDownloaderOperation
查看>>
elastaticsearch
查看>>
postgreSQL 简单命令操作
查看>>
Spring JDBCTemplate
查看>>
Radon变换——MATLAB
查看>>
第五章笔记
查看>>
Iroha and a Grid AtCoder - 1974(思维水题)
查看>>
gzip
查看>>
转负二进制(个人模版)
查看>>
LintCode-Backpack
查看>>
查询数据库锁
查看>>
[LeetCode] Palindrome Number
查看>>
我对于脚本程序的理解——百度轻应用有感
查看>>
SQL更新某列包含XX的所有值
查看>>
网易味央第二座猪场落户江西 面积超过3300亩
查看>>
面试时被问到的问题
查看>>