
第09章 精通类和对象
文章平均质量分 56
第09章 精通类和对象
D.J. Wu
Ciallo~(∠・ω< )⌒☆
展开
-
9.1友元
C+允许某个类将其他类、其他类的成员函数或非成员函数声明为友元(friend),友元可以访问类的protected、private 数据成员和方法.原创 2024-07-15 21:31:15 · 99 阅读 · 0 评论 -
9.2对象中的动态内存分配
对于不被复制的参数,通过const引用传递仍然是应使用的方法,值传递建议仅适用于函数无论如何都要复制的参数。当你声明了一个或多个特殊成员函数(析构函数、拷贝构造函数、移动构造函数、拷贝赋值运算符和移动赋值运算符)时,通常需要声明所有这些函数,这称为"5规则"(Rule of Five)。右值引用的目的是在涉及右值时提供可选用的特定重载函数, 通过右值引用, 某些涉及复制大量值的操作可通过简单地复制指向这些值的指针来实现。,但当函数重载使用了右值引用时,可以解析临时对象,用于该函数重载。原创 2024-07-15 21:32:59 · 822 阅读 · 0 评论 -
9.7运算符重载
如果可以显式地将 operator<=设置为默认,我建议这样做,而不是自已实现它。如果自己实现运算符,则无论何时添加数据成员或更改现有数据成员,都需要记住更新 operator<→的实现。这些运算符与基本算术运算符不同,它们会改变运算符左边的对象,而不是创建一个新对象。只有当 operator和<=→使用定义操作符的类类型的 const 引用作为参数时,才可能显式将operator和<=>设置为默认。如果既有某个运算符的普通版本,又有简写版本,建议你基于简写版本实现普通版本,以避免代码重复。原创 2024-07-15 21:40:29 · 281 阅读 · 0 评论 -
9.3与方法有关的有关内容
不能将 static 方法声明为 const,因为这是多余的。静态方法没有类的实例,因此不可能改变内部的值。原创 2024-07-15 21:35:15 · 614 阅读 · 0 评论 -
9.6类内的枚举类型
【代码】9.6类内的枚举类型。原创 2024-07-15 21:39:23 · 95 阅读 · 0 评论 -
9.4不同的数据成员类型
不仅要在类定义中列出 static 类成员,还需要在源文件中为其分配内存,通常是定义类方法的那个源文件。在此还可初始化 static 成员,但注意与普通的变量和数据成员不同,默认情况下它们会初始化为0。记住,在初始化一个引用后,不能改变它指向的对象,因此无法在赋值运算符中对引用赋值。这意味着根据使用情形,可能无法为具有引用数据成员的类提供赋值运算符。如果属干这种情况,通常将赋值运算符标记为删除。这样做的好处是不必在源文件中为它们分配空间。最后,引用数据成员也可被标记为 const。原创 2024-07-15 21:37:54 · 291 阅读 · 0 评论