请教有C++大型程序程序设计经验的大侠关于类层次结构的设计问题
一个大型的程序,顶层有一个基类A,有很多个层次的A的子类B,C,D,E...。原来的A里面有许多类似于如下类型的纯虚函数:
virtual B* Fun1()=0;
virtual C* Fun2()=0;
这就导致了一个问题,在A的声明部分必须include所有这些子类的头文件,请问如何克服这个问题,可以不用包括这些子类的头文件,因为这样耦合性太强了。另外请注意Fun1和Fun2在很多个子类中都得到了实现,所以原来的设计将其放于基类中似乎也不无道理,只是觉得不优雅。