编辑回答:虽然我的原始问题没有像Konrad Rudolph所提供的答案那样精确地解释我的需求,但他(无论是意外还是故意地)基本上为我写下了我想要写的内容!该类本身并未得到扩展,但通过使类意识到新功能,可以扩展其功能,从而使其处理更广泛的问题。非常感谢出色的答案,这也是一个很好的教程,即使需要我自己轻松阅读书籍。
我相信这是一个非常基本的问题,但我正在尝试自学C ++,我使用的参考书提供了我不理解的答案。
为我的项目定义了一个class error_handler {}
,它处理来自程序各个点的异常消息和错误号码。 它将使用各种成员函数将错误记录到文件和/或将消息打印到屏幕上。
我的目标是创建它,使它拥有自己的.h和.cpp文件,如果以后需要扩展它,只需添加一个新的成员函数来处理某些更奇怪的类型的错误操作。
那么我的问题是:
由于在error.h
中我有以下代码:
class error_handler
{
// ctor dtor copy logger screen functions defined
}
在
error_handler.cpp
中,我完成了这些定义,如何简单地向类中添加一个新函数? 我不想对其进行子类化,只是扩展它。假设error_handler是在专有软件包中定义的类,在该软件包中,我无法直接修改源代码,但可以在单独的代码中扩展它。
编辑:迄今为止的答案和评论似乎表明我正在尝试做一些语言不应该做的事情。 如果是这样,那就这样吧,我在这里学到了一些东西。 希望这不是情况,我将保持问题开放一段时间,看看还有什么其他的可能会进入这个帖子......