我刚开始学编程,头文件这个话题让我感到有些困惑,因为我使用了很多头文件。此外,我正在尝试使用预编译头文件。我还在使用SFML库,所以必须包含那些头文件。
现在,我有stdafx.h、main.cpp,以及在A.h、A.cpp、B.h、B.cpp、C.h、C.cpp、D.h和D.cpp中包含的类A、B、C和D。
如果:
- 所有类都包含一个SFML类的实例
- D类包含A类和C类的实例
- C类包含B类的实例 我的代码如下:(注意:所有头文件都有头部保护)
stdafx.h:
#include <SFML/Graphics.hpp>
#include <iostream>
A.h
#include "stdafx.h"
class A
{
//sfml class
};
A.cpp
#include "stdafx.h"
#include "A.h"
B.h
#include "stdafx.h"
class B
{
//sfml class
};
B.cpp
#include "stdafx.h"
#include "B.h"
C.h
#include "B.h"
class C: public B
{
};
C.cpp
#include "stdafx.h"
#include "C.h"
D.h
#include "A.h"
#include "C.h"
class D
{
A a;
C C; // if left uncommented I recieve a '1 unresolved externals' error
//sfml class
}
D.cpp
#include "stdafx.h"
#include "D.h"
main.cpp
#include "stdafx.h"
#include "D.h"
main.cpp
是否使用了类A,B,C,D
中的任何一个? - Mahesh