关于头文件包含的问题

Jiems 发布于 2012/06/17 03:10
阅读 504
收藏 0

a.h  //a 类的头文件
stdafx.h
class a

{}

b.h  //b的头文件
stdafx.h
a.h
class b : public a

{}

c.h //c的头文件
stdafx.h
a.h
class c : public a

我该怎么包含3个头文件呢  各位大大
main()

加载中
0
中山野鬼
中山野鬼

用哪个就把哪个头文件放到main里。例如你只用class C ,class A,则#include "a.h" #include "c.h"

此处不能因为c.h里面有#include “a.h" 而不在main中添加,如果main 用到class A。

代码本身就是对设计的一个很好的规范说明。

Jiems
Jiems
两个都要用到,,,我是这么写的 a.h //a 类的头文件 stdafx.h class a {} b.h //b的头文件 stdafx.h a.h class b : public a {} c.h //c的头文件 stdafx.h b.h class c : public a //main()头文件 stdafx.h b.h main()
0
zssure_thu
zssure_thu

在定义头文件的时候,最好利用预编译的一些规范:例如#ifndef XXXX_H #define XXXX_H #endif

或者利用#pragma once等等,都能够防止头文件的多次编译、重复定义文件中的函数、类、结构体等。省的害的考虑包含哪一个头文件的问题。

算法与编程之美
算法与编程之美
正解
0
Jiems
Jiems

额,,,还有个问题,,,

#ifndef XXXX_H 

#define _XXXX_H_INCLUDED

#endif

0
Jiems
Jiems
为什么要加那个INCLUDE哈
0
h
haohm
加预编译头,这个是必须的习惯。
0
yandong
yandong

引用来自“zssureqh”的答案

在定义头文件的时候,最好利用预编译的一些规范:例如#ifndef XXXX_H #define XXXX_H #endif

或者利用#pragma once等等,都能够防止头文件的多次编译、重复定义文件中的函数、类、结构体等。省的害的考虑包含哪一个头文件的问题。

正解,多次包含,但是需要加预编译头。。。
返回顶部
顶部