background image
float Power;
/* 电力 */ void TurnOnOff( bool bOn );
// 开
bool bPowerOn; // 是否开启
};
上面的 Radiogram::Frequency、Radiogram::Volume 和
Radiogram::Power 由于定义为了结构 Radiogram 的成员,因此它们的语义分
别为某收音机的频率、某收音机的音量和某收音机的电力。而其余的三个成员函
数的语义也同样分别为改变某收音机的频率、改变某收音机的音量和打开或关闭
某收音机的电源。注意这面的“某”,表示具体是哪个收音机的还不知道,只有
通过成员操作符将左边的一个具体的收音机和它们结合时才知道是哪个收音机
的,这也是为什么它们被称作偏移类型。这一点在下一篇将详细说明。
上面我们之所以称收音机的换台是功能,是因为实际中我们自己是无法直接
改变收音机的频率,必须通过旋转选台的那个旋钮来改变接收的频率,同样,调
音量也是通过调节音量旋钮来实现的,而由于开机而导致的电力下降也不是我们
直接导致,而是间接通过收听电台而导致的。因此上面的 Radiogram::Power、
Radiogram::Frequency 等成员变量都具有一个特殊特性——外界,这台收音机
以外的东西是无法改变它们的。为此,C++提供了一个语法来实现这种语义。