CodeGym
AI Academy
促销
CodeGym University
学习
课程
任务
调查 & 测验
游戏
帮助
日程
社区
Users
论坛
聊天
文章
成功故事
动态
评价
订阅
浅色主题

课时

  • 评论
  • 关于我们
开始
开始学习
立即开始学习
  • 我的进度
  • 课程
  • 任务地图
  • 课程
  • 委托构造函数:消除重复代码

    C++ SELF
    等级 49,课时 0
    讲解 C++ 中的委托构造函数:如何消除重载之间的重复代码,选择“主”构造函数并通过初始化列表将其他构造函数委托给它( : ClassName (... ))。理解执行顺序(先执行被委托的构造函数,然后执行包装者的函数体),通过 Rectangle 和 Task 的示例巩固,并讨论限制与常见错误(委托循环、尝试“在初始化后再初始化”字段,以及由副作用构成的层叠问题)。
    可用
  • static‑类成员:全局配置与 id 生成

    C++ SELF
    等级 49,课时 1
    解析什么是 static 字段和 static 方法在 C++ 中:它们与普通成员有何不同,为什么 static 方法没有 this, static 字段“存放”在哪里以及为什么需要对它进行一次定义(以及链接错误是什么样子)。在实践中构建应用的全局配置( AppConfig)和唯一标识符生成器( next_id_),最后总结典型错误和反模式“隐藏的全局变量”。
    可用
  • 何时重载运算符是合理的

    C++ SELF
    等级 49,课时 2
    我们分析为什么在 C++ 中重载运算符不是“魔法”,而是成为类型公共 API 一部分的函数:哪些场景适合使用 operator==、 operator<< 和 operator<=>,如何区分“值类型”和具有多重含义的实体,为什么可预测性和无副作用很重要,以及如何使用检查清单和流程图来做决定。以 Task 和函数 printTask() 为例说明动机:可读性比“为美观而美观”更重要。
    可用
  • operator << 用于 std::ostream — 对象输出

    C++ SELF
    等级 49,课时 3
    我们讲解在 C++ 中如何正确重载用于输出流的 operator <<:为什么签名应该是 std::ostream& operator <<( std::ostream&, const T&),为什么要返回引用以支持像 std::cout << a << b 这样的链式调用,如何通过公共接口或通过 friend 来打印,以及如何通过 std::ostringstream 获取字符串。最后 — 常见错误和反模式列表。
    可用
  • operator== 与相等契约 — “相等” 是什么意思

    C++ SELF
    等级 49,课时 4
    我们来讲解为何在 C++ 中为自定义类型定义 operator==、相等性应满足哪些属性(自反性、对称性、传递性和“可替换性”)、标识相等( id)与按值相等(所有字段相同)如何区分、什么时候适合使用 operator== = default,以及这如何影响像 std::find 这样的标准算法。另有讨论:为什么对 double 的“近似相等”最好放在像 almostEqual 这样的函数中,而不是把魔法藏进 ==。
    可用
Learn
  • 注册
  • Java 课程
  • 任务帮助
  • 定价
  • Java 语法
社区
  • 用户
  • 文章
  • 论坛
  • 聊天
  • 成功故事
  • 动态
  • 联盟计划
Company
  • 关于我们
  • 联系方式
  • 评价
  • 媒体中心
  • CodeGym for EDU
  • 常见问题
  • 支持
CodeGymCodeGym 是一个从零开始学习 Java 编程的在线课程。该课程是初学者掌握 Java 的完美方式。它包含 1200+ 个带即时验证的任务,以及必要的 Java 基础理论。为了帮助你在学习中取得成功,我们实现了一系列激励功能:测验、编码项目、关于高效学习的内容,以及 Java 开发者职业相关内容。
关注我们
界面语言
English Deutsch Español हिन्दी Français Português Polski বাংলা
简体中文
मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
“程序员是培养出来的,不是天生的” © 2026 CodeGym
MastercardVisa
“程序员是培养出来的,不是天生的” © 2026 CodeGym