使用头文件
扩展C ++中的类。
我发现要扩展类,我必须这样做:
class x : public extendsThis { // rest here
};
因此,我在两个单独的文件中创建了2个类:
- particle.h -
class particle : public program {
};
- program.h -
class program {
particle* myParticle;
};
但是,在程序类中,我希望有粒子对象,然后再次扩展程序类。
但是,这将要求我在粒子类中包含一个include程序.h,并在该程序类中具有一个particle.h包含,以使他们彼此了解。但是,这创建了一些无限循环,使我无法编译。
有什么办法解决这个问题,还是我做错了什么?
没有找到相关结果
已邀请:
5 个回复
醒荒捆府绣
请记住,您需要使用指向粒子的指针。
蹦吃舷弦
这也可能表明您的设计可能需要重新考虑。通常,您的程序应该“知道”它的组件,而不是相反。程序的组件应为小型独立类,并具有简单定义良好的功能。如果纠缠了所有的类,您将获得“远距离的怪异动作”(错误)。 ;)
吐兄
请注意,扩展类可能如何潜在地导致无限循环?我的意思是,这只是我的理解,我可能会犯错,但这是需要考虑的事情。有人让我知道我是否要离开这里。
帆攀缺锯欧
当我编译并运行该程序时,它会继续打印“程序构造函数”,因为
总是先调用
,从而导致无限循环。注释掉行“ 8”可以解决此问题。
席酱