重载->和*操作符之operator->()与operator*()

来源:互联网 发布:淘宝网儿童棉裤 编辑:程序博客网 时间:2024/06/11 14:12

 

#include<iostream>using namespace std;class Action{public:void action(){cout<<"Hello World"<<endl;}};class Wrapper{public:Wrapper(Action* _it):it(_it){}Action* operator->(){ return it;}Action& operator*(){ return *it; }private:Action* it;};int main(){Action a;Wrapper w(&a);  w->action();    //解释成 (w.operator->())->action();(*w).action();  //解释成 (w.operator*()).action();(w.operator->())->action();(w.operator*()).action();}/*Hello WorldHello WorldHello WorldHello World*/


 

原创粉丝点击