【发布时间】:2013-01-02 06:53:15
【问题描述】:
可能重复:
How do I remove code duplication between similar const and non-const member functions?
我有两个成员
A &B::GetA (int i)
{
return *(m_C[m_AtoC[i]]);
}
const A &B::GetA (int i) const
{
return *(m_C[m_AtoC[i]]);
}
现在我只是复制代码,但可能存在很好的方法来做到这一点。我当然不想处理从 const 到 non-const 的类型转换。
编辑:所以我想打电话给另一个成员以避免代码重复。
【问题讨论】:
-
你想要非常量版本做什么?
-
@Beta 能够修改成员。
-
抱歉,我错过了
&。 -
一个小的
#define可以解决问题,但我猜你也不想使用它;-)
标签: c++ constants overloading