【C++基础】构造函数

一,构造函数概念

概念:函数名与类名相同,且没有返回值类型,这就是构造函数,它承担着类初始化的工作。

构造函数虽然名叫构造,但它并不是开空间创建对象,而是初始化对象。

分类:默认构造函数、一般构造函数、拷贝构造函数、转换构造函数、移动构造函数。

特点:

1,函数名与类名相同

2,无返回值

3,对象实例化时编译器自动调用对应的构造函数

4,构造函数可以重载

例:

复制代码
 class Date
 {
  public:
      // 1.无参构造函数
      Date()
     {}
  
      // 2.带参构造函数
      Date(int year, int month, int day)
     {
          _year = year;
          _month = month;
          _day = day;
     }
  private:
      int _year;
      int _month;
      int _day;
 };
  
  void TestDate()
 {
      Date d1; // 调用无参构造函数
      Date d2(2015, 1, 1); // 调用带参的构造函数
相关推荐
鼾声鼾语13 小时前
matlab的ros2发布的消息,局域网内其他设备收不到情况吗?但是matlab可以订阅其他局域网的ros2发布的消息(问题总结)
开发语言·人工智能·深度学习·算法·matlab·isaaclab
其美杰布-富贵-李14 小时前
HDF5文件学习笔记
数据结构·笔记·学习
麦麦鸡腿堡14 小时前
Java_类的加载
java·开发语言
我命由我1234514 小时前
VSCode - Prettier 配置格式化的单行长度
开发语言·前端·ide·vscode·前端框架·编辑器·学习方法
JIngJaneIL14 小时前
基于java + vue校园快递物流管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js
超级大只老咪14 小时前
数组的正向存储VS反向存储(Java)
java·开发语言·python
柏木乃一14 小时前
进程(2)进程概念与基本操作
linux·服务器·开发语言·性能优化·shell·进程
毕设源码-赖学姐14 小时前
【开题答辩全过程】以 基于JSP的物流信息网的设计与实现为例,包含答辩的问题和答案
java·开发语言
leo__52014 小时前
基于LDA的数据降维:原理与MATLAB实现
开发语言·matlab·信息可视化
asdfg125896314 小时前
JS中的闭包应用
开发语言·前端·javascript