头文件c ++中的类定义
Posted
技术标签:
【中文标题】头文件c ++中的类定义【英文标题】:Class definition in a header c++ 【发布时间】:2013-05-23 12:25:44 【问题描述】:我有这个代码:
#include <time.h>
class ElapsedTime
time_t _startTime;
public:
ElapsedTime(void)
time(&_startTime);
double MiliSecond()
time_t endTime;
time(&endTime);
return difftime(_startTime,endTime) * 1000;
~ElapsedTime(void);
;
我在我的 c++ 代码中使用了它。它编译但在链接期间生成错误,因为链接器说它找不到 elapsetime 定义。
如何在 H 文件中完全定义一个类?对于这个简单的类,我不想有 .h 和 .cpp。
【问题讨论】:
【参考方案1】:您忘记提供析构函数的定义:
~ElapsedTime(void)
// ^^^
但是请注意,在这种情况下您不需要显式提供析构函数:编译器会为您隐式生成一个析构函数。直接省略即可。
【讨论】:
【参考方案2】:您缺少析构函数的实现:
~ElapsedTime() .....
如果析构函数没有做任何事情,并且不是virtual
,您可以改为删除声明。
【讨论】:
以上是关于头文件c ++中的类定义的主要内容,如果未能解决你的问题,请参考以下文章