是否可以像C#的类扩展方法一样,在不修改原始类定义(即包含类和相应的.h文件的已编译.lib)的情况下,向类中添加新方法?

最佳答案

不可以。C++没有这种功能。

如其他答案中所述,常见的解决方法是:

  • 定义一个派生类,也许用工厂来隐藏实际的实现类
  • 定义一个decorator
  • 定义对类
  • 的实例进行操作的非成员函数

    关于C++类扩展,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1621511/

    10-11 22:36