2012-03-09 14 views
3

別のクラスの周りに簡単なラッパーを書きたいと思います。小さな例:C++で ' - >'演算子をどのようにオーバーロードするのですか?

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 

だから私の質問は次のとおりです。代わりに(*...).建設のはるかにきれい->演算子を使用する方法はあります?

答えて

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

OK、ありがとう。私は 'operator *()'で十分だろうと思った。 –

関連する問題