11.3 隐式变量访问

优质
小牛编辑
136浏览
2023-12-01

其实新版的Time::print并不需要这么复杂。我们并非真的需要创建局部变量来引用当前对象的实例变量。

如果函数引用hour,minute或者second时,只写它们本身,而不写点号,C++知道它指的是当前对象。所以我们本可以这么写:

void Time::print()
{
   cout << hour << ":" << minute << ":" << second <<endl;   
}

这种变量访问方式称为“隐式变量访问”,因为对象名没有显式地出现。这种特性是成员函数往往比非成员函数更简洁的一个原因。