53、为节流阀类重载 < 运算符。如果第一个节流阀的流量小于第二个节流阀的流量,该函数应返回 true。
下面是给定的【文本内容】:
可按照以下方式实现节流阀类 < 运算符的重载,将其作为非成员函数,接收两个节流阀对象作为参数,返回布尔值。示例代码如下:
#include <iostream>
namespace main_savitch_2A {
class throttle {
public:
throttle();
throttle(int size);
void shut_off() { position = 0; }
void shift(int amount);
double flow() const { return position / double(top_position); }
bool is_on() const { return (position > 0); }
private:
int top_position;
int position;
};
// 重载 < 运算符
bool operator<(const throttle& t1, const throttle& t2) {
return t1.flow() < t2.flow();
}
}
54、将点的 - 运算符重载为二元算术运算符。
point operator - (const point& p1, const point& p2) {
double x_diff, y_diff;
x_diff = p1.get_x() - p2.get_x();
y_diff = p1.get_y() - p2.get_y();
point diff(x_diff, y_diff);
return diff;
}
55、为什么友元函数应该仅由实现类的程序员编写?
因为只有实现类的程序员真正了解类的私有成员,这样做能保证新类的信息隐藏不受破坏。
56、以下点类的友元输入函数实现有什么错误?istream& operator >> (istream& ins, point& target) // target 有 x 和 y 数据成员 // 友元类:point 类 { ins >> x >> y; return ins; }
在函数体中使用 ins >> x >> y; 是错误的。友元函数不是成员函数,不能直接访问 x 和 y ,必须通过参数中的对象来访问,应改为 ins >> target.x >> target.y; 。
57、实现文件newpoint.cxx中应该包含什么?
- 包含头文件的包含指令;
- 每个成员函数(内联函数除外)的实现;
- 每个友元函数和非成员函数的实现。
58、typedef 语句何时有用?
`typedef` 语句有以下用处:
1. 在类定义中,成员函数可用其定义的新名称作为数据类型同义词,非成员函数通过类名和“::”也可使用该名称;
2. 在函数定义中,可通过 `typedef` 语句让函数适用于不同数据类型,只需修改 `typedef` 语句中的数据类型并重新编译,程序其他部分无需改动。
59、size_t数据类型是什么,它在哪里定义?
size_t 是一种只能存储非负整数的整数数据类型。每个 C++ 实现都保证 size_t 类型的值足以存储在机器上声明的任何变量的大小。 size_t 类型是标准库工具 <cstdlib> 中 std 命名空间的一部分。要在头文件中使用 size_t ,必须包含 <cstdlib> 并使用全名 std::size_t 。
60、在某个关于bag的文档中指出,value_type可以是一个类,但前提是它必须有默认构造函数和几个运算符。为什么?
当 value_type 是有构造函数的类时,编译器需用默认构造函数初始化数据数组的每个组件;
对于赋值运算符,并非所有数据类型都有自动的赋值运算符,如数组就不允许 x = y 这样的赋值,所以需要明确要求 value_type 有赋值运算符;
要求有测试相等和不相等的运算符是为了能对类对象进行比较操作,以满足 bag 类中相关函数的使用需求。
61、在袋子类中,插入成员函数里的条目参数为何是常量引用参数?
通常常量引用参数用于在参数为大对象时提高效率,虽然整数不是大对象,但后续可能会将 value_type 更改为大对象,所以尽可能对 value_type 参数使用常量引用参数(即函数实现不改变参数值时)。
62、为什么静态成员常量 CAPACITY 的值是在头文件中给出,而不是在实现文件中?
这种在头文件中定义值的技术仅适用于整数类型(如 int 和 size_t ),因为整数值常用于类定义中定义数组大小等内容。
63、写出背包类的不变式。
- 背包中的物品数量存储在成员变量
used中。 - 背包的实际物品存储在一个部分填充的数组中,该数组是一个动

最低0.47元/天 解锁文章
2829

被折叠的 条评论
为什么被折叠?



