我开始用C编写一个简单的解释++一类的结构,我下面会说明,但我退出,并在Java中改写了的事情,因为头是给了我一个困难时期。 下面是显然不是在C ++允许的基本结构:
main.cpp中包含的主要功能,并且包括了一类我们可以调用Printer.h中 (其单个空隙方法在printer.cpp被实现)的报头。 现在想象其他两个类是相同。 既想打电话给Printer::write_something();
,所以我包括在每个Printer.h中 。 因此,这里是我的第一个问题:我为什么#include <iostream>
一百万次,甚至一个接一个,但我只能包括我的头一次? (嗯,我想我大概可以做同样的事情与我的,只要它是在同一个文件,但我可能是错的)。我理解的声明和实现/定义之间的差异,但这些代码给了我一个类重定义错误。 我不明白为什么。 而这里的吹拂我的心灵(也可能说明你为什么我不明白任何的这一点)的东西:我不能只包括main.cpp中顶部的Printer.h和使用类从我的其他两个类。 我知道我可以包括两个类(头),没有麻烦的一个 Printer.h中 ,但我不明白为什么这不只是包括它之前,我包括main.cpp中的类有什么不同(因为这样做使我找不到类错误)。
当我厌倦了,我想过,因为我用了相当被迫反正OOP移动到C,但除非我在一个文件中写的一切,我会遇到同样的问题。 这是令人沮丧知道C ++,但无法正确地使用它,因为编制的问题。
我真的很感激,如果你能清楚这件事对我来说。 谢谢!