2011-12-22 57 views
0

假设我有A类类包装和调度

我想写某种包装的抚慰一些功能,增加一些新的功能,而其他所有功能分派到的类。并希望它自然地在客户端代码中看起来。我认为这需要某种内省,并且在C++中可能是不可能的,但也许我错了。添加完成后

科迪灰色评论:

我有在矩形印刷类。它有方法SetX,SetY,SetDX,SetDY和gettes等等。我想创建类也将有方法SetBaseX,SetBaseY和包装SetX,SetY根据给定的基地,但不想包装DX方法。而且也不想使用继承来防止从包装类转换为A.我不仅仅需要A,所以包装器必须能够包装许多实现某个接口的类。

+1

为什么需要反思?包装类一直以C++编写......也许会发布一些伪代码来表明你想要做什么? – 2011-12-22 09:04:37

回答

2

您将不得不为包装类的所有功能手动编写委派包装。在C++中没有任何内省可以让你自动化。

+0

邑,坏消息,将搜索其他解决方案))+1 – Yola 2011-12-22 09:19:17

2

你想使用组合。

B类是B级A级。包装实例A类在其构造和删除它在它的析构函数,所以B是负责A.

B类声明自己的方法和类的方法A,当A的方法之一被调用时,它将它分派给本地类A变量并返回结果。

+0

感谢您的回答+1 – Yola 2011-12-22 09:18:39