我有多个从一个基类继承的类,每个类都在一个单独的头中.我希望用户能够只包含基类头,但是这需要我在基本头中包含其他派生类,这会导致某种循环依赖,并且我已经读到某个循环依赖是一件坏事.
我的类是套接字类,派生类是socket_udp,socket_tcp,socket_raw等.
如何解决循环依赖?也许类设计很糟糕,我不需要为不同的套接字类型使用不同的类?我在这里有点困惑.
谢谢!
一种选择是创建一个新的头文件,其中包含派生对象和基础对象的所有头文件.因此,仅包含该单个头将包括所有其他头文件.如果您在此文件中对包含进行排序,以便在未先包含所有父类的情况下从不包含类,则可以避免循环依赖.