我有这样的代码:
#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++代码中使用了它。它编译但在链接期间产生错误,因为链接器说它找不到运行时间定义。
如何在H文件中完全定义一个类?对于这个简单的类,我不想有。h和。cpp。
您忘记为析构函数提供定义了:
~ElapsedTime(void) { }
// ^^^
但是,请注意,在这种情况下,您不需要显式地提供析构函数:编译器将隐式地为您生成一个。
您缺少析构函数的实现:
~ElapsedTime() { ..... }
如果析构函数不做任何事情,并且不是virtual
,则可以删除声明。