C ++中是否有类方法?
我知道在Objective-C中我们可以通过+ (void)aClassFunction;
在头文件中声明一个函数,我们可以通过[myClass aClassFunction];
调用它。有没有办法在C ++中执行此操作?
答案 0 :(得分:6)
static
方法足够接近(但不是真正等效)替代Objective C的类方法。区别在于在C ++中你不能覆盖静态方法。
答案 1 :(得分:1)
是的,请使用static
:
class MyClass {
public:
static int classFunc() { return 45; }
};
cout << MyClass::classFunc() << endl;
您可以看到您通过类名称后跟范围解析运算符::
,然后是函数名称来访问它们。
答案 2 :(得分:1)
是的,使用静态方法。
在.h文件中声明一个静态方法,如下所示:
static void DoSomething();
在.cpp中实现它,如下所示:
void SomeClass::DoSomething()
{
/* do something */
}
然后这样称呼:
SomeClass::DoSomething();