banner

件。如果是闰年,这个函数将返回布尔值true,否则返回false。这个函数接受一个int参数:要检查的年份。

这个函数包含4条return语句,其中每条都在不同条件下结束函数。

tips

5.6 默认函数参数

在原型中将函数声明为接受一个或多个参数时,必须使用数据类型正确的参数来调用该函数。来看一个接受一个int参数的函数:

函数isLeapYear()必须接受一个int参数,编译器将对此进行检查。调用函数时,如果缺少参数或传递的值无效,将导致编译器错误。

对于这一规则,有一个例外:如果在函数声明中指定了参数的默认值,便可在调用该函数时不指定参数工程师不用相对量表示电压,而是用两个量来表示:电压足够高和电压不够,并将其简化为“是”和“否”。“是”和“否”可以用1和0表示。按照约定,1表示“是”(“真”),但这只是一种约定,也可以约定1表示“否”(“假”)。

有了这种认识上的飞跃后,二进制的威力就非常明显了:使用1和0,可以表示每一段电路的真实状态(通电或断电)。计算机只知道“是”和“否”,“是”用1表示,“否”用0表示。

A.2.3 位、字节和半字节

决定用1和0表示真和假后,二进制位就变得非常重要了。由于早期的计算机每次发送8位,因此很自然地用8位数字来编写代码,8位叫一个字节。

注意: unsigned long。这就提出了一个问题:将这些声明放在什么地方?

开发大型项目时,需要对文件做整体设计。在这个项目中,您将采用的一种标准方法是,每个类都有独立的头文件,而其成员函数的实现放在相关联的.cpp文件中。因此,您将创建文件Object.hpp和Object.cpp。您预计还有其他文件,如Msg.hpp和Msg.cpp,它们分别包含pMessage类的声明和实现。

22.3.7 建立原型

对于像PostMaster这样大的项目,初步设计不太可能是完备和完美的。鉴于问题的规模如此之大,您很容易变得不知所措,避免灾难的良方是,先创建所有的类并