我想在另一个类周围编写一个简单的包装器。一个小例子:
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
所以我的问题是:有没有办法使用更漂亮的->
运算符而不是(*...).
构造?
答案 0 :(得分:11)
MyClass* operator->() { return ptr; }