如何重定向头文件(到库)以包含实例化中的一些代码?

时间:2013-07-12 15:46:22

标签: c++ qt

我有一个库文件头(我无法触及的库)。但我需要在实例化中包含更多功能。我怎么能这样做?

class AA: public QObject
{
    public:
        void AA(); //<-- I need to add some more functionality to this
}

我知道,唯一的方法是,如果可以将AA子类化为具有相同名称AA的新类,那么从主程序中,希望使用第二个。但我不认为这是可能的。

1 个答案:

答案 0 :(得分:1)

对于已编译的代码(您没有源代码),如果不经过特殊处理(使用汇编语言修补内存),则无法拦截它。这假设QObject没有一些特殊的机制可以让你“挂钩”构造函数。

对于您可以控制的代码,您可以简单地将AA子类化,并在子类的构造函数中提供自己的功能。