头文件(.h):
#define
// 你的代码写在这里
#endif
#define
class
{
private:
public:
} ;
#endif
Circle::Circle()
{
}
Circle::Circle( double
{
}
double
{
}
#include
using
int
{
}
头文件(.h):
#define
// 你的代码写在这里
#endif
#define
class
{
private:
public:
} ;
#endif
Circle::Circle()
{
}
Circle::Circle( double
{
}
double
{
}
#include
using
int
{
}
本质上,它们都是文本文件。重要的是其中你写的代码,不管你命名为.cpp还是命名为.abc,本质都不变
为了方便,我们一般使用.cpp后缀名来表示这个文件里面的文本是C++代码
编译器编译代码的时候首先先编译各模块,然后再将各模块链接为最终的可执行程序
一般来说,一个文件就编译为一个模块
但是,各模块要能链接到一起,必须有一些共同的地方,例如模块A里面有一个函数,模块B想要使用这个函数,它就必须知道模块A的一些信息才行。体现在代码上,就是有些代码必须在几个文件里都写一遍
此时我们将这样的代码写在一个单独的文本文件里,后缀名使用.h或者.hpp来表示,并使用#include来将这个文件里面的代码包含到需要这段代码的.cpp文件中
这就是.h文件和.cpp文件的由来
后者是本质,前者是工具。模块内的执行代码,写在.cpp文件里;用于表示模块信息的代码,写在.h文件里,并被数个.cpp文件包含
如果你使用gcc等编译器手动编译链接各模块,那么后缀名没有任何意义,只供你观赏
如果你使用VS等自动化的开发环境,那么它编译程序的时候,会按照后缀名编译,简单地说,就是它编译全部.cpp文件,且只编译.cpp文件
头文件(.h):
#define
// 你的代码写在这里
#endif
#define
class
{
private:
public:
} ;
#endif
Circle::Circle()
{
}
Circle::Circle( double
{
}
double
{
}
#include
using
int
{
}