关于C++委托

来源:百度知道 编辑:UC知道 时间:2024/05/26 17:43:56
在C++中,什么叫委托?
委托有什么作用?
委托又是怎么用的?

那里有这方面的资料,我是一点也不懂这个,谢谢!
/***************************************************
搞点应用,例子来见见最好了!

***************************************************/

委托就是把具体事情让别人做,我只调用你的函数。下面是一个例子:
class RealSort{
public:
void sort();
};

class MySort{
private:
RealSort rs;
public:
GetName(RealSort rs)
{
this.rs = rs;
}

void sort()
{
rs.sort();
}
};
这里MySort将具体事情sort委托给RealSort做。
委托的作用在于保持抽象层的稳定,让抽象层不随之细节的变化而变化,也就是你下层的代码如何变化,上层的代码可以维持稳定。就以这个例子来说,开始要求用选择排序,后来老板的要求变了,要用快速排序,那么我只需修改RealSort这个文件,而MySort这个文件不需要重新编译。

具体资料可参考设计模式相关书籍。

发表于: 2008-9-29 16:11:00

档案 | 主页 | 短信 | 平板 | 收藏 | 编辑 | 删除 | 引用
模版函数指针,C++委托的实现-原创【申请加精】

今天写引擎的时候,很想加入一些回调函数,以前一直没时间整理这块,这次一定要下决心好好整整代码,纯粹用多态,很多类非要加个帽子,类之间的关系也显的很单一,有的情况需要用到委托的回调机制,这是个很好的东西,在C#里面是原生支持的,C++里面本来函数指针是个不错的选择,可到了对象里面,成员函数指针还有那么好用吗?这原本是另C++程序员非常失望和无赖的,难道一说到成员函数指针就真的那么不好用,甚至要沦为被唾弃的命运?并非入此,别忘了,C++里面还有很强的利器,C#和Java后天才具备的特性可是C++先天就具备的哦,那就是范型,C++里面的用的是模版,而且如果把模版和成员函数指针结合在一起,那就威力无比了,那应该叫做就是“成员模版函数指针”,C++的教科书上有这个名词吗?我查了查,好像是没有,而且网上很多资料竟然说这个不能实现之类的话,我都怀疑那些如此