在学习清华大学郑莉老师的《C++语言程序设计(第四版》,刚学到第六章,课本里讲到了编写多个源文件代码并且编译连接的过程,课本只讲了源代码内容和结构,对于如何编译连接多个源文件并生成最终的可执行文件没有说明。本人摸索了一下,记录于此方便以后回顾。
追求简单粗暴可直接跳到最后。
源代码是关于数组对象的应用举例,包含三个文件:
1. Point.h
类 Point 的头文件,存放一些不需要分配空间的声明以及内联函数,代码如下:
//Point.h
#ifndef _POINT_H
#define _POINT_H
class Point {
public:
Point();
Point(int x, int y);
~Point();
void move(int newX, int newY);
int getX() const {return x;}
int getY() const {return y;}
static void showCount();
private:
int x, y;
static int count;
};
#endif
注:程序设计的时候要避免多次重复包含一个头文件,以免引起变量或者类的重复。在这里用唯一的一个标识符 _POINT_H 以及预处理指令 #ifndef 和 #endif 来标记该文件是否已经参加过编译。
2. Point.cpp
用于放置需要分配空间的定义,比如类 Point 中非内联函数以及变量的定义,代码如下: