⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 consign3.cpp

📁 ThinkingC++中文版
💻 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 + -