`

头文件

    博客分类:
  • C++
 
阅读更多
一、声明与定义的区分:

一个声明就是一个定义,除非 :
声明:引入名称
定义:引入实体
1.它声明了一个没有详细说明函数体的函数
2.它包含一个extern定义符且没有初始化函数或函数体
3.它是一个包含在一个类定义之内的静态类数据成员的声明,它必须在最终程序的某处准确的定义一次
4.它是一个类名声明,如class test;
5.它是一个typedef声明。
言外之意:
1。类的声明也就是定义
2。同时赋初值的声明也就是定义,如int a=2;
3。类非静态数据成员的声明也就是定义???
4。类的所有成员函数的声明也就是定义
一个定义就是一个声明,除非:
1.它定义的是一个静态数据成员
2.它定义了一个非内联成员函数
内部连接和外部连接:
编译时每个文件会被编译成一个含有必要信息的源文件(又叫编译单元),然后编译单元会联结成一个和族文件同名的.o文件,.o文件把不同的编译单元中产生的符号联系起来,构成一个可执行文件。有两种截然不同的链接:内部的和外部的,将这些编译单元联系起来。
内部连接:对这个定义的访问被局限在当前编译单元,其他编译单元无法访问。
外部连接:可被其他单元访问,因此名称在整个执行文件中必须唯一。

类的定义(同时也是声明),enum,struct,都是内部连接,内联函数,静态的非类成员数据也是
typedef声明的类型也是内联结。
非内联成员函数(包括静态成员)有外部连接,非内联函数,非静态自由函数(非类的成员函数)也是外连接。
声明只对当前编译单元有用,他们不会影响到.o文件,
 
.h文件,由于该文件会被其他.cpp文件包含,但由于声明只是对当前编译单元有效,是不会将符号引入.o文件,所以该文件不能含有任何外部连接的符号(数据成员和函数)的定义。一般情况下也不要包含内连接符号的定义。
 
综上所诉:
.h文件中能包含:

1。类成员数据的声明,但不能赋值
2.类静态数据成员的定义和赋值,但不建议,只是个声明就好。
3。类的成员函数的声明
4。非类成员函数的声明
5.常数的定义:如:const int a=5;
6.静态函数的定义
7.类的内联函数的定义
 
不能包含:
1.  所有非静态变量(不是类的数据成员)的声明
2。 默认命名空间声明不要放在头文件,using namespace std;等应放在.cpp中,在.h文件中使用std::string
分享到:
评论

相关推荐

    C语言头文件 MATH C语言头文件 MATH

    C语言头文件 MATHC语言头文件 MATHC语言头文件 MATHC语言头文件 MATHC语言头文件 MATHC语言头文件 MATHC语言头文件 MATHC语言头文件 MATHC语言头文件 MATHC语言头文件 MATHC语言头文件 MATHC语言头文件 MATHC语言...

    C语言头文件 DIR C语言头文件 DIR

    C语言头文件 DIRC语言头文件 DIRC语言头文件 DIRC语言头文件 DIRC语言头文件 DIRC语言头文件 DIRC语言头文件 DIRC语言头文件 DIRC语言头文件 DIRC语言头文件 DIRC语言头文件 DIRC语言头文件 DIRC语言头文件 DIRC语言...

    C语言头文件 OLE C语言头文件 OLE

    C语言头文件 OLEC语言头文件 OLEC语言头文件 OLEC语言头文件 OLEC语言头文件 OLEC语言头文件 OLEC语言头文件 OLEC语言头文件 OLEC语言头文件 OLEC语言头文件 OLEC语言头文件 OLEC语言头文件 OLEC语言头文件 OLEC语言...

    C语言头文件 UTIL C语言头文件 UTIL

    C语言头文件 UTILC语言头文件 UTILC语言头文件 UTILC语言头文件 UTILC语言头文件 UTILC语言头文件 UTILC语言头文件 UTILC语言头文件 UTILC语言头文件 UTILC语言头文件 UTILC语言头文件 UTILC语言头文件 UTILC语言...

    C语言头文件 XMEMORY

    C语言头文件 XMEMORYC语言头文件 XMEMORYC语言头文件 XMEMORYC语言头文件 XMEMORYC语言头文件 XMEMORYC语言头文件 XMEMORYC语言头文件 XMEMORYC语言头文件 XMEMORYC语言头文件 XMEMORYC语言头文件 XMEMORYC语言...

    C语言头文件 NEW.H

    C语言头文件 NEW.HC语言头文件 NEW.HC语言头文件 NEW.HC语言头文件 NEW.HC语言头文件 NEW.HC语言头文件 NEW.HC语言头文件 NEW.HC语言头文件 NEW.HC语言头文件 NEW.HC语言头文件 NEW.HC语言头文件 NEW.HC语言头文件 ...

    C语言头文件 MEM C语言头文件 MEM

    C语言头文件 MEMC语言头文件 MEMC语言头文件 MEMC语言头文件 MEMC语言头文件 MEMC语言头文件 MEMC语言头文件 MEMC语言头文件 MEMC语言头文件 MEMC语言头文件 MEMC语言头文件 MEMC语言头文件 MEMC语言头文件 MEMC语言...

    C语言头文件 temp C语言头文件 temp

    C语言头文件 tempC语言头文件 tempC语言头文件 tempC语言头文件 tempC语言头文件 tempC语言头文件 tempC语言头文件 tempC语言头文件 tempC语言头文件 tempC语言头文件 tempC语言头文件 tempC语言头文件 tempC语言...

    C语言头文件 NB30 C语言头文件 NB30

    C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言...

    C语言头文件 IOMANIP.H

    C语言头文件 IOMANIP.HC语言头文件 IOMANIP.HC语言头文件 IOMANIP.HC语言头文件 IOMANIP.HC语言头文件 IOMANIP.HC语言头文件 IOMANIP.HC语言头文件 IOMANIP.HC语言头文件 IOMANIP.HC语言头文件 IOMANIP.HC语言头文件...

    C语言头文件 LIMITS.H

    C语言头文件 LIMITS.HC语言头文件 LIMITS.HC语言头文件 LIMITS.HC语言头文件 LIMITS.HC语言头文件 LIMITS.HC语言头文件 LIMITS.HC语言头文件 LIMITS.HC语言头文件 LIMITS.HC语言头文件 LIMITS.HC语言头文件 LIMITS....

    C语言头文件 WINSOCK2

    C语言头文件 WINSOCK2C语言头文件 WINSOCK2C语言头文件 WINSOCK2C语言头文件 WINSOCK2C语言头文件 WINSOCK2C语言头文件 WINSOCK2C语言头文件 WINSOCK2C语言头文件 WINSOCK2C语言头文件 WINSOCK2C语言头文件 WINSOCK...

    C语言头文件 TYPEINFO.H

    C语言头文件 TYPEINFO.HC语言头文件 TYPEINFO.HC语言头文件 TYPEINFO.HC语言头文件 TYPEINFO.HC语言头文件 TYPEINFO.HC语言头文件 TYPEINFO.HC语言头文件 TYPEINFO.HC语言头文件 TYPEINFO.HC语言头文件 TYPEINFO.HC...

    C语言头文件 WINUSER.H

    C语言头文件 WINUSER.HC语言头文件 WINUSER.HC语言头文件 WINUSER.HC语言头文件 WINUSER.HC语言头文件 WINUSER.HC语言头文件 WINUSER.HC语言头文件 WINUSER.HC语言头文件 WINUSER.HC语言头文件 WINUSER.HC语言头文件...

    C语言头文件 MAP C语言头文件 MAP

    C语言头文件 MAPC语言头文件 MAPC语言头文件 MAPC语言头文件 MAPC语言头文件 MAPC语言头文件 MAPC语言头文件 MAPC语言头文件 MAPC语言头文件 MAPC语言头文件 MAPC语言头文件 MAPC语言头文件 MAPC语言头文件 MAPC语言...

    C语言头文件 MEMORY.H

    C语言头文件 MEMORY.HC语言头文件 MEMORY.HC语言头文件 MEMORY.HC语言头文件 MEMORY.HC语言头文件 MEMORY.HC语言头文件 MEMORY.HC语言头文件 MEMORY.HC语言头文件 MEMORY.HC语言头文件 MEMORY.HC语言头文件 MEMORY....

    C语言头文件 NEW C语言头文件 NEW

    C语言头文件 NEWC语言头文件 NEWC语言头文件 NEWC语言头文件 NEWC语言头文件 NEWC语言头文件 NEWC语言头文件 NEWC语言头文件 NEWC语言头文件 NEWC语言头文件 NEWC语言头文件 NEWC语言头文件 NEWC语言头文件 NEWC语言...

    C语言头文件 RPC C语言头文件 RPC

    C语言头文件 RPCC语言头文件 RPCC语言头文件 RPCC语言头文件 RPCC语言头文件 RPCC语言头文件 RPCC语言头文件 RPCC语言头文件 RPCC语言头文件 RPCC语言头文件 RPCC语言头文件 RPCC语言头文件 RPCC语言头文件 RPCC语言...

    C语言头文件 DATA C语言头文件 DATA

    C语言头文件 DATAC语言头文件 DATAC语言头文件 DATAC语言头文件 DATAC语言头文件 DATAC语言头文件 DATAC语言头文件 DATAC语言头文件 DATAC语言头文件 DATAC语言头文件 DATAC语言头文件 DATAC语言头文件 DATAC语言...

    C语言头文件 FMI C语言头文件 FMI

    C语言头文件 FMIC语言头文件 FMIC语言头文件 FMIC语言头文件 FMIC语言头文件 FMIC语言头文件 FMIC语言头文件 FMIC语言头文件 FMIC语言头文件 FMIC语言头文件 FMIC语言头文件 FMIC语言头文件 FMIC语言头文件 FMIC语言...

Global site tag (gtag.js) - Google Analytics