最初版本的convertToSeconds函数是这样的:
double convertToSeconds (const Time& time) {
int minutes = time.hour * 60 + time.minute;
double seconds = minutes * 60 + time.second;
return seconds;
}
我们可以很直接的将其转换为成员函数:
double Time::convertToSeconds () const {
int minutes = hour * 60 + minutes;
double seconds = minutes * 60 + second;
return seconds;
}
有趣的是,因为我们在函数中没有修改隐式参数,这里它应该被声明为const。但是,与不存在的参数相关的信息应该写在哪里并不是显而易见的。答案是——如例子所示——将const放在参数列表之后(本例中为空)。
上节中的print函数同样应该将其隐式参数声明为const。