c++头文件中的可视化类定义

visual Class definition in a header c++

本文关键字:可视化 定义 文件 c++      更新时间:2023-10-16

我有这样的代码:

#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,则可以删除声明。