2018-03-15  创建人:Ruo_Xiao
开发环境:VS2010
邮箱:xclsoftware@163.com2018-04-16  修改人:Ruo_Xiao
添加对类型转换构造函数隐式转换的抑制使用的说明,即:explicit。2019-06-19  修改人:Ruo_Xiao
修正对转换构造函数的说明。

一、默认构造函数(无参数构造函数)

Father()
{std::cout<<"我是默认构造函数!"<<std::endl;std::cout<<std::endl;
}

2、一般构造函数(重载构造函数)

  • 这种构造函数类中可以有多个,但是形参类型或者个数不能相同,需要满足C++重载原理。
  • 栗子:
Father(int i,double d)
{cout<<"我是一般构造函数!"<<endl;cout<<endl;
}

3、复制构造函数,即:拷贝构造函数

  • 拷贝构造函数参数为类对象本身的引用,用于根据一个已存在的对象复制出一个新的该类的对象。
  • 若没有显示的写拷贝构造函数,则系统会在适当的时候创建一个默认的拷贝构造函数
  • 栗子:
Father(const Father &F)
{cout<<"我是复制构造函数!"<<endl;cout<<endl;
}

4、转换构造函数

  • 条件:构造函数只有一个参数,而且该参数不是本类的const引用。
  • 作用:相当于C语言隐式类型转换,相当于 类Test t = 100; // 就是t = Test(100);
  • 栗子:
Father(int i)
{cout<<"我是转换构造函数!"<<endl;cout<<endl;
}
  • 上述属于隐式转换,若不编写者不想让调用者执行该操作,即:必须显示调用。则在构造函数声明前面加上“explicit”即可。

5、等号运算符重载构造函数(赋值构造函数)

  • 作用:两个对象的数据成员进行赋值。
  • 条件:等号两边的对象必须已经创建。
  • 栗子:
Father &operator=( const Father &rhs )
{cout<<"我是等号运算符重载构造函数!"<<endl;return *this;
}

(SAW:Game Over!)

C/Cpp / 构造函数种类相关推荐

  1. C++:构造函数,析构函数及友元函数

    我们先从一个题来开始:这是改正之后的样子. #include <iostream> using namespace std; class MyClass { public:MyClass( ...

  2. Android SO逆向-对象的构造函数与析构函数

    0x00 这一节我们主要讨论对象的构造函数和析构函数的汇编实现. 0x01 我们先直接看C++代码: #include "com_example_ndkreverse4_Lesson4.h& ...

  3. 数据结构知识点总结整理

    数据结构知识点总结整理 0.常考基础必知必会 A. 排序:排序有几种,各种排序的比较,哪些排序是稳定的,快排的算法: B. 查找:哈希查找.二叉树查找.折半查找的对比,哈希映射和哈希表的区别? C. ...

  4. 程序员笔试笔记c++

    0.常考基础必知必会 A. 排序:排序有几种,各种排序的比较,哪些排序是稳定的,快排的算法: B. 查找:哈希查找.二叉树查找.折半查找的对比,哈希映射和哈希表的区别? C. 链表和数组的区别,在什么 ...

  5. 职工管理系统--基于C++多态

    目录 1.管理系统需求 2.创建项目 2.1 创建项目 2.2 添加文件 3.创建管理类 3.1创建文件 3.2 头文件实现 3.3 源文件实现 4.菜单功能 4.1 添加成员函数 4.2 菜单功能实 ...

  6. 黑马程序员C++职工管理系统

    基础知识(面向对象编程) C++程序在执行时,将内存大方向划分为**4个区域** - 代码区:存放函数体的二进制代码,由操作系统进行管理的 - 全局区:存放全局变量和静态变量以及常量 - 栈区:由编译 ...

  7. 《黑马程序员》职工管理系统实战

    职工管理系统 源码成品直达:https://download.csdn.net/download/Augenstern_QXL/19080725?spm=1001.2014.3001.5501 已经设 ...

  8. C++习题二:职工管理系统:

    职工管理系统 1.管理系统需求 职工管理系统可以用来管理公司内所有员工的信息 本教程主要利用cpp来实现一个基于多态的职工管理系统 公司中职工分为三类:普通员工.经理.老板,显示信息时,需要显示职工编 ...

  9. 用c++实现职工管理系统

    首先带大家看看文件的结构以及树状图 以下是具体的思路: 1.管理系统需求 职工管理系统可以用来管理公司内所有员工信息 本教程主要利用c++来实现一个基于多态的职工管理系统 公司中职工分为三类:普通员工 ...

最新文章

  1. 施工日志管理软件app_工程人必备的手机APP,个个能解燃眉之急
  2. Zabbix3.X-Zabbix _Agent主动模式的监控(Active)
  3. 洛谷P4292:重建计划(点分治、单调队列)
  4. 利用OpenCV实现人脸检测
  5. c语言中最常用的四种数据类型,计算机中有哪几种常见数据类型
  6. 基于Jupyter完成Iris数据集的 Fisher线性分类,学习数据可视化技术
  7. String,StringBuffer,StringBulilder之间的区别
  8. ESP32 开发笔记(十一)使用 ESP32 做为 WebServer
  9. 工业相机——点阵相机与线阵相机
  10. Android 杂记 - 存货盘点用的客户端
  11. 国际植物基博览会2022年6月首次亮相上海;海瑞温斯顿珠宝王国在北京开设新零售沙龙 | 知消...
  12. 一行代码实现网站移动化的原理与实现
  13. freeswitch配置软电话
  14. android中华为、小米手机设置头像裁剪失败问题
  15. 最全iPhone启动图尺寸(包含 XS Max XR)
  16. 实战演练-java+微信小程序实现省市区三级联动
  17. 程序员到底应该学什么?!
  18. 2022-2028全球与中国移动网络运营商市场现状及未来发展趋势
  19. java并发学习28:有序性
  20. ppt6计算机考试,全国计算机考试第6章 过程.ppt

热门文章

  1. HDU1495 非常可乐
  2. linux 安装sysstat使用iostat、mpstat、sar、sa
  3. js面向对象和继承的碎碎念
  4. leetcode- Single Number
  5. 获取IOS应用的子目录
  6. 防止过拟合,采用的手段有哪些?
  7. 如何使用idea远程debug调试代码详解
  8. KubeOperator总体介绍(K8S集群部署管理工具)
  9. Linux安装ipvsadm工具查看ipvs
  10. dms系统与mysql_关于MySQL与DMsql探寻