#include <iostream>
#include <string>
using namespace std;
class Phone {
public:string m_pname;/*Phone() {cout << "无参构造" << endl;m_pname = "vivo";}*/Phone(const Phone &p) {cout << "拷贝构造" << endl;m_pname = p.m_pname;}Phone(string pname) {cout << "有参构造" << endl;m_pname = pname;}
};
//Phone p1;
class Person {public:string m_name;Phone m_phone = {"s"};Person(){/*m_phone = Phone("ss")*/;}
};
//class Person {
//public:
//  string m_name;
//  Phone m_phone;
//  Person():m_phone("ss") {
//      /*m_phone = Phone("ss")*/;
//  }
//};
//class Person {
//public:
//  string m_name;
//  Phone m_phone;
//  Person() : m_phone(p1) {
//
//  }
//};int main()
{Person p;return 0;
}
  1. Person对象构造之前,先将Person类的成员对象构造出来,也就是说 正式执行 Person 构造函数体 { } 之前, Person类的成员对象就要构造出来,
    Phone m_phone; 这句话就要求必须有无参构造函数, 否则无法创建m_phone这个对象, 如果确实没有无参构造,那么在Person类的初始化列表里面指定构造方式也可以。 这就是所谓的 没有无参构造的成员对象要放在初始化列表里面执行,
    这句话其实是片面的。比如 Phone m_phone = {“s”}; 这样写的话,就算没有无参构造,也可以不用再初始化列表初始化了。

C++ 有参构造 无参构造 拷贝构造 以及参数化列表 成员对象之间的执行关系相关推荐

  1. 小tips !!! 构造,析构,拷贝构造知识点总结

    构造,析构,拷贝构造核心点总结 构造函数 并不是开空间创建对象  主要完成类对象初始化工作 构造函数是一个特殊的成员函数,名字与类名相同,创建类类型对象时由编译器自动调用 在对象的生命周期内只调用一次 ...

  2. IDEA try catch快捷键、 快速生成get set 方法快捷键、快速生成有参和无参构造方法快捷键

    IDEA try catch快捷键. 快速生成get set 方法快捷键.快速生成有参和无参构造方法 1. try catch快捷键 小伙伴们在写代码的过程中,有时需要抛出异常,手写太浪费时间,我们想 ...

  3. IDEA 工具中 如何生成有参和无参的构造方法

    IDEA 工具中 如何生成有参和无参的构造方法 按下Alt+ins键

  4. wait与sleep的讲解(wait有参及无参区别)

    目录 1. wait() 与wait( long timeout ) 区别 2. wait(0) 与 sleep(0)区别 3. wait 和sleep 释放代码 4.  wait 与 sleep 区 ...

  5. python有参函数和无参函数的区别_构造函数的有参和无参的区别,构造函数的参数是派什么用场的?...

    展开全部 区别: 1.如果在创建对象时不写参数,调用的就32313133353236313431303231363533e58685e5aeb931333366303861是无参的构造方法.可是如果你 ...

  6. 构造器(有参、无参)

    构造器: 就是和类名相同但无返回类型的方法.用于当前或某一对象的实例化,并将当前或某一对象返回.无参构造:1.如果使用new关键字实际上是调用无参构造器:2.无参构造往往是为了初始化一些值.有参构造: ...

  7. Qt调用python有参和无参方法,取方法返回值

    环境准备 QT版本:4.8.5    下载地址:http://download.qt.io/archive/qt/4.8/4.8.5/ MinGW编译器:MinGW 32位    下载地址:https ...

  8. 三天实现独立分析宏基因组数据(有参、无参和分箱等)

    在广大粉丝的期待下,<生信宝典>联合<宏基因组>在2019年11月1-3日,北京鼓楼推出<宏基因组分析>专题培训第六期,为大家提供一条走进生信大门的捷径.为同行提供 ...

  9. java有参和无参的用处_Java对比有参数和无参数

    有参数:小括号当中有内容,当一个方法需要一些数据条件,才能完成任务的时候,就是有参数. 例如两个数字相加,必须知道两个数字是各自多少,才能相加. 无参数:小括号当中留空.一个方法不需要任何数据条件,自 ...

最新文章

  1. 无需自己输入include这些的方法
  2. SpringBoot介绍
  3. C++调用matlab char16_t 重复定义
  4. 对于在git上面拉代码报“error: RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054“解决方法
  5. python成绩管理系统界面-python实现简易版学生成绩管理系统
  6. 何所思 | 数据中心二十条
  7. java 命令行 读取文件_java读取txt文件
  8. 数字化转型的认识模型
  9. 如何提高码农产量,基于ASP.NET MVC的敏捷开发框架之自定义表单开发随笔四
  10. 5.深度学习练习:Deep Neural Network for Image Classification: Application
  11. 没经验能做软件测试吗?
  12. GPS 的物理数学原理
  13. RC充放电网络的定量计算
  14. 图像视频处理中Win7 32位+VS2010+OpenCV2.3.1的配置过程
  15. 修改统计信息自动收集时间窗口
  16. 框架应该弄明白的理论问题
  17. MATLAB实验总结定积分,matlab实验报告--定积分的近似计算 -
  18. 安卓圆形头像制作两种方法。
  19. 2021年幼儿园教师招聘:规则性游戏的指导
  20. 360浏览器登录新浪微博图标显示为字母及占用CPU过高问题的解决

热门文章

  1. OpenDaylight开发hello-world项目之开发工具安装
  2. CSS3 Filter详解(改变模糊度 亮度 透明度等方法)
  3. link-cut-tree 简单介绍
  4. excel数据生成sql insert语句
  5. 1058. 选择题(20)
  6. python学习(九) 网络编程学习--简易网站服务器
  7. 在IIS中部署Asp.net Mvc
  8. Adroid学习之 从源码角度分析-禁止使用回退按钮方案
  9. 分割范围Codeforces Round #181 (Div. 2)
  10. python亲密度_Python OpenCV 图像2D直方图,取经之旅第 25 天