我有一个.cxx
文件,其中包含许多函数,这些函数会在一般情况下公开(toolkit.cxx
,并显示相应的toolkit.h
)。
其中一些函数的实现需要一个不会在其他任何地方使用的类(Fetcher
)。
目前我有一个Fetcher.h
,但其方法的所有实现都在toolkit.cxx
。
现在情况正在发生变化,需要两种类型的Fetcher
- 子类SimpleFetcher
和FancyFetcher
。
这是太多的代码,无法将所有内容保存在toolkit.cxx
中,因此我将其与3个额外的实现文件(fetcher.cxx
分开,用于父级实现的功能,simple_fetcher.cxx
和fancy_fetcher.cxx
为孩子们。)
我的麻烦是,我有许多帮助函数,这些函数在这些实现中以及toolkit.cxx
函数中使用,我不想在这些源文件之外复制或公开。
目前,它们已在toolkit.cxx
中的未命名命名空间中实现,但新.cxx
实施文件无法显示。
在这种情况下,有哪些选项?