可以使用两个版本的函数,常量成员函数和没有const的函数进行重载

GG.*_*GG. 8 c++ overloading constants function

我刚遇到各种重载方法,如传递的参数类型,不同数量的参数,返回类型等.我只是想知道我可以使用以下两个版本重载一个函数


//function which can modify member
String& MyClass::doSomething();

//constant member function
String& MyClass::doSomething() const;

请让我知道它背后的原因.

Job*_*Job 9

是的你可以.

如果你有

MyClass m;
m.doSomething();
Run Code Online (Sandbox Code Playgroud)

将调用非const版本.当你有

const MyClass m;
m.doSomething();
Run Code Online (Sandbox Code Playgroud)

将调用const版本.