【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); // 调用带参的构造函数
相关推荐
MartinYeung512 小时前
[论文学习]PACT:溯源感知能力合约——面向智能体安全的参数级溯源
人工智能·学习·安全
阿米亚波12 小时前
【C++ STL】std::unordered_multiset
开发语言·数据结构·c++·笔记·stl
随意起个昵称12 小时前
贪心模型-Johnson法则
c++·算法
蜡笔小马12 小时前
【保姆级教程】Windows 下 CGAL 6.2 + VS2022 全流程实战:从源码编译到项目集成(附避坑指南)
c++·cgal
我是唐青枫12 小时前
Java ReentrantLock 实战详解:比 synchronized 更灵活的可重入锁
java·开发语言
QH1392923188013 小时前
# R&S ZNB43 ZNA43 ZNA67矢量网络分析仪
开发语言·网络·php
xiaoye-duck13 小时前
《Linux系统编程》Linux 系统多线程(八): C++ 高并发线程池全链路深度解析与从零手撕实现
linux·c++·线程池
胖大和尚13 小时前
在C++的类中,是否可以把函数声明成__device__
c++·cuda
脚踏实地皮皮晨13 小时前
003003001_Grid控件
开发语言·windows·算法·c#·visual studio
十年磨剑走天涯14 小时前
C++ STL 容器操作复杂度速查表
开发语言·c++