c++使用模板时.h和.cpp分离产生的问题分析和解决方案

基本知识

  1. 编译器只编译cpp文件,不单独编译.h文件
  2. 编译器在编译阶段是独立编译的
  3. 编译一个cpp文件时,展开包含的头文件,发现一个调用在当前文件无法找到,就标记为一个符号
  4. 类模板产生的符号跟该模板的任何具体类的符号都不同

解决方案

模板类的声明与实现都写在一个文件中,并把扩展名改成hpp,在使用的时候,直接#include “xxx.hpp”

发表评论

电子邮件地址不会被公开。 必填项已用*标注

15 − 1 =

25 − = 16