23.x — 第23章总结与测验
在本章中,我们学习了两种对象之间的一些不同关系。总结:从更简单的对象构建复杂对象的过程称为对象组合。对象组合有两种类型:组合和聚合。当类的成员具有部分-整体关系时,存在组合关系……
9.1 — 代码测试入门
那么,你已经编写了一个程序,它编译了,甚至看起来也运行了!现在怎么办?嗯,这取决于。如果你编写的程序只运行一次就被丢弃,那么你就完成了。在这种情况下,你的程序不适用于所有情况可能无关紧要——如果它……
23.5 — 依赖关系
到目前为止,我们已经探讨了 3 种关系类型:组合、聚合和关联。我们把最简单的放在最后:依赖关系。在日常对话中,我们使用“依赖”一词来表示一个对象在给定任务中依赖于另一个对象。例如,如果你摔断了脚,你……
23.1 — 对象关系
生活中充满了对象之间反复出现的模式、关系和层次结构。通过探索和理解这些,我们可以深入了解真实世界对象的行为方式,从而增强我们对这些对象的理解。例如,假设有一天你在街上行走,看到一个亮黄色的物体附着在……
21.x — 第 21 章总结与测验
在本章中,我们探讨了与运算符重载、重载类型转换以及与拷贝构造函数相关的主题。总结:运算符重载是函数重载的一种变体,它允许您为您的类重载运算符。当运算符被重载时,运算符的意图应该是……
21.12 — 重载赋值运算符
拷贝赋值运算符(operator=)用于将值从一个对象拷贝到另一个已经存在的对象。相关内容:从 C++11 开始,C++ 也支持“移动赋值”。我们在课程中讨论移动赋值。拷贝赋值与拷贝构造函数:拷贝构造函数和拷贝赋值的目的是……
14.16 — 转换构造函数和 explicit 关键字
在课程中,我们介绍了类型转换和隐式类型转换的概念,其中编译器会在需要时隐式地将一种类型的值转换为另一种类型的值(如果存在这样的转换)。这允许我们做这样的事情:#include <iostream> void printDouble(double …
14.15 — 类初始化和拷贝省略
早在课程中,我们就讨论了基本类型对象的 6 种基本初始化类型:int a; // 无初始化器(默认初始化)int b = 5; // 等号后的初始化器(拷贝初始化)int c( 6 ); // 括号中的初始化器(直接初始化)// 列表初始化方法(C++11)……