【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); // 调用带参的构造函数
相关推荐
SilentSamsara1 分钟前
Python 微服务全链路:gRPC + 链路追踪 + 服务网格接入
开发语言·分布式·python·微服务·架构
一只积极向上的小咸鱼2 分钟前
VS Code / Warp MCP 迁移到 Codex MCP 配置总结
开发语言
共享家95276 分钟前
OpenClaw的通道配置
人工智能·学习·openclaw
Cloud_Shy61821 分钟前
解读《Effective Python 3rd Edition》:从练气到老魔(第三章 Item 21 - 24)
开发语言·人工智能·笔记·python·迭代器模式
多彩电脑25 分钟前
Lua中的元表里的__index和__newindex
开发语言·lua
野生技术架构师34 分钟前
2026 Java面试宝典(春招/社招/秋招通用):没有前言,只有答案,直接开背
java·开发语言·面试
人道领域1 小时前
【LeetCode刷题日记】131.分割回文串,动态规划优化
java·开发语言·leetcode
z落落2 小时前
C# 接口 interface (多接口实现、类+接口、成员重名)
java·开发语言
MartinYeung52 小时前
[论文学习]基于梯度迭代上下文优化的 LLM 隐私越狱攻击框架
学习·区块链
王老师青少年编程2 小时前
信奥赛C++提高组csp-s之搜索进阶(迭代加深IDDFS)
c++·csp·信奥赛·csp-s·提高组·iddfs·埃及分数