在《C++ Primer》的第381面,讲到了在形参类型和返回类型和作用域的关系,这里总结一下:
1.形参表和函数体处于类作用域中。
在定义于类外部的成员函数中,形参表和成员函数体都出现在成员名之后。这些都是在类作用域中定义的,所以不用限定而引用其他成员。
例:
该函数用Screen内定义的index类型来指定其形参类型。因为形参表是在Screen类的作用域内,所以不必指明我们想要的是Screen::index.
2.函数返回类型不一定在类作用于中
与形参类型相比,返回类型出现在成员名字前面。如果函数在类定义体之外定义,则用于返回类型的名字在类作用域之外。如果返回类型使用由类定义的类型,则必须使用完全限定名。
例:
个人感觉这个小细节是容易被忽略的地方,希望大家注意。