面向对象编程:组合、继承与文件组织
1. 轮胎访问器的实现
在编程中,轮胎访问器的实现是一个重要的部分。以下是轮胎访问器的代码实现:
- (void) setTire: (Tire *) tire atIndex: (int) index
{
if (index < 0 || index > 3) {
NSLog (@"bad index (%d) in setTire:atIndex:",index);
exit (1);
}
tires[index] = tire;
} // setTire:atIndex:
- (Tire *) tireAtIndex: (int) index
{
if (index < 0 || index > 3) {
NSLog (@"bad index (%d) in tireAtIndex:", index);
exit (1);
}
return (tires[index]);
} // tireAtIndex:
这里的代码使用了防御性编程,会检查数组索引是否在有效范围内(0 到 3)。如果索引超出范围,程序会打印错误信息并退出。这是因为 tires 是一个 C 风格的数组,编译器不会对数组索引进行错误检查。例如, tires[-5] 或 tires[23] 这样的代码虽然不会被编译器报错,但会访问随机内存,导致程序出现错误和崩溃。
超级会员免费看
订阅专栏 解锁全文
1085

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



