【发布时间】:2014-12-05 11:59:23
【问题描述】:
我试图在类中调用const 函数,但存在同名的非const 函数。
注意:我不能只更改名称。
class MyQuestion
{
void fun()
{
cout<<"a";
}
void fun()const
{
cout<<"b";
}
void call()
{
fun();//<how to call fun() const?
}
};
【问题讨论】:
-
它会根据
*this指针的常量自动调用一个或另一个 -
一个不太重复的问题的相关答案:stackoverflow.com/a/5326238/10077
-
您需要调用函数的 const 版本似乎是错误的。这意味着虽然您的 const 和非 const 成员函数恰好具有相同的名称,但它们实际上做的是根本不同的事情。
标签: c++ constants overloading