簡體   English   中英

如何在c ++中重載' - >'運算符?

[英]How to overload the '->' operator in 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

所以我的問題是:有沒有辦法使用更漂亮的->運算符而不是(*...). 施工?

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM