【发布时间】:2017-05-27 09:43:28
【问题描述】:
我有一个关于继承类的析构函数的问题:
我有一个父类几何:
Geometry.h:
#ifndef GEOMETRY_H
#define GEOMETRY_H
#include <QDialog>
class Geometry : public QDialog
{
Q_OBJECT
public:
explicit Geometry(QWidget *parent = 0);
virtual ~Geometry() {}
};
#endif // GEOMETRY_H
和
Geometry.cpp
#include "Geometry.h"
#include "ui_Geometry.h"
Geometry::Geometry(QWidget *parent) :
QDialog(parent) { }
当我将 Geometry.h 更改为
virtual ~Geometry() ;
并将以下内容添加到 Geometry.cpp
Geometry::~Geometry(void)
{
// ...
}
我收到错误“Geometry::~Geometry() 的多重定义”
你能告诉我为什么会出现这个错误吗?我可以将代码放在 .cpp-File 中吗?
【问题讨论】:
-
你如何构建你的程序?您使用的是 IDE 还是纯文本编辑器?你记得保存头文件吗?你是否使用了正确的头文件?
标签: c++ qt destructor