📄 consign3.cpp
字号:
class server{
private:
public:
void a(){}
void b(){}
void c(){}
void d(){}
};
class client{
private:
server* delegate;
public:
client()
{
delegate=new server;
}
server* operator->() //递引用运算符重载
{
return delegate;
}
};
//⑴通过重载-〉,减少了在客户类client中复写接口的麻烦,并且当服务器类server的接口发生变化时,客户类client不受影响。
//例如,服务器类server中增加一个接口void e();客户类client对象c,就可直接使用:c->e()。
//⑵以上例子通过重载"->",来实现转送技术或委托功能。当然,也可以对其它运算符重载来实现这一功能(比如[]),
//只不过,"->"更直观,因为"·"不能重载。
void main()
{
client m;
// m.a();
// m.d();
m->a();//(m.operator->())->a();
m->b();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -