这里我们举个简单的例子来说明多个文件的组织方法:假设我们现在有一个类Point,那么我们就可以将其拆分成以下三个文件:

//Point.h
class Point{
   
public:
  Point();
  //其他类成员
};
//Point.cpp
#include "Point.h"
Point::Point(){
   
  //类成员函数实现
}
//main.cpp
#include "Point.h"
int main(){
   
  Point p;
  //主函数代码
  return 0;
}

而当我们有多个文件的时候,我们就需要手动地来进行编译与连接了——我们需要把主函数所需要的类定义与实现文件都编译成目标代码文件,然后将其与主函数编译的目标代码文件连接起来,这样才能得到一个可执行文件。

对于上面的例子,我们可以这样编译我们的程序:

g++ -c Point.cpp

执行这一步之后,我们会得到一个编译好的目标代码文件Point.o,接下来就可以执行下一步了:

g++ -o main.out main.cpp Point.o

然后我们就可以跟以往一样得到最后的可执行文件了。

以上来自计蒜客 ?