在C++ 中如果处理的类比较复杂的话,并且相关度极大,则需要定义在一个头文件中,但是往往会出现需要提前引用声明的情况,往往原则如下:
1. 如果在B类中用到了A类的类型,但是没有用到A类的方法,则可以将A类提前引用声明处理即可。
2. 如果A1继承A,B1继承B,但是B1引用了A1的类型且B1使用了A1的方法,且A引用了B的类型,则可以将B提前引用声明,且B1定义在文件最后。
总结:
如果只引用了类型,没有引用方法,则可以将被引用类的声明提前;
如果引用了类型的方法,如果满足被引用方法的类型在引用类之前即可,就不需要提前引用声明。
时间: 2024-10-05 20:59:58