如何超载' - >' c ++中的运算符?

时间:2012-03-09 12:29:50

标签: c++ operator-overloading

我想在另一个类周围编写一个简单的包装器。一个小例子:

class MyClass {
   ...
   int someMember();
   ...
};

class MyClassRefernence{
   ...
   MyClass* ptr;
   MyClass& operator *();
   ...
};

如果我现在有一些代码如下:

MyClassReference ref;
... // Init the ref and the pointer ptr.
int a = (*ref).someMember(); // this works but is nasty
int b = ref->someMember(); // Compile error

所以我的问题是:有没有办法使用更漂亮的->运算符而不是(*...).构造?

1 个答案:

答案 0 :(得分:11)

MyClass* operator->() { return ptr; }