过载成员选择运算符

时间:2012-10-11 17:06:20

标签: c++ operator-overloading

有没有办法超载“dot”-operator“。”

我们希望在重写ORM层时使用旧的代码库。所以我们想要包装对象并为成员选择运算符“。”添加一些新的语义。

我们发现有几个网站正在讨论这个问题,其中包括SO,所有人都说在理论上会很好,但目前的C ++标准不允许这样做。

也许有编译器可以做到这一点?

修改

感谢您的快速解答;我们发现找到这样的编译器可能很难,如果不是不可能的话。任何进一步的提示表示赞赏。您已阅读的所有已发布资源...

简要说明我们想要实现的目标:包装器没有任何自己的成员,它应该以另一种方式提供前一个真实对象。出于向后兼容性的原因,实现新层非常方便 - 我们可以避免在约> 4000次出现时修改旧版客户端代码。

如果您有任何其他想法如何以其他方式进行,请告诉我们。这个限制是否仍然存在于C ++ 11中?

编辑2

尚不确定,我将报告我们的工作。

1 个答案:

答案 0 :(得分:0)

您不能重载点运算符,并且没有支持此属性的c ++编译器。查看维基百科中的这个链接,它更详细地解释了C ++中的运算符重载。 http://en.wikipedia.org/wiki/C%2B%2B_operators