Class and Object
OOP Characteristics
基本做法
- 将
class
的定义放在.h
头文件中;将具体实现放在同名.cpp
文件中;在其他文件中需要时,只需要#include "xxx.h"
即可
- 但是注意,全局变量和函数具体实现不能放在
.h
中;可以放在.cpp
文件中;如果是需要在头文件中声明,需要使用extern
关键词
- 如果在多个文件中都
#include "xxx.h"
,为了防止重复定义的问题,需要采用下列做法:
或者用另外一种方式:
作用域
编译单元
- 对编译器而言,每个
cpp
文件都是一个编译单元,会产生一个目标代码.obj
头文件
编译链接示意图
定义与声明
关于 #include
关于 CMake
- 有固定的名字:
CMakeLists.txt
- 一般还会在当前源文件的文件夹中开一个新的文件夹:
mkdir build
,防止污染源文件文件夹
- 然后进入这个
build
文件夹中,使用cmake ..
(因为CMakeLists.txt
在上一级路径中)
- 然后会生成一堆东西,接下来直接
make
就可以