我正在从c转到c ++,并且在这里遇到了scoperesolution页面信息,非常有帮助 What does "ClassName ClassName::FunctionName" mean in C++?
但是我也遇到了以下代码,我打算学习它并且它在类名前面有一个指针,所以我的问题是在什么情况下会使用指针。
const char *TObject::ClassName() const
{
// Returns name of class to which the object belongs.
return IsA()->GetName();
}
答案 0 :(得分:2)
这是其类之外的成员函数的常规定义。在这种情况下,星号没有特殊含义。
首先,回想一下如何在C中定义一个返回指针的函数:
const char *Foo() {
return something;
}
您看到的声明具有相同的结构,但两个元素除外:
const
。范围分辨率意味着ClassName
是属于类TObject
的成员函数,而末尾的const
意味着成员函数的代码不会改变其类的成员变量。