c++学习
出现这种情况可能是使用继承和多态时,父类的头文件声明时,多声明了构造函数和析构函数,只要把父类头文件声明中的构造函数和析构函数删除即可
前:(会报错)
#pragma once
#include"worker.h"
#include<string>
class Worker
{
public:
Worker();
//显示个人信息
virtual void ShowInf() = 0;
//获取岗位名称
virtual void ShowJobName() = 0;
int m_Num;//职工编号
string m_Workername;//职工名称
~Worker();
};
后:(删除了Worker类的构造函数和析构函数,不再报错)
#pragma once
#include"worker.h"
#include<string>
class Worker
{
public:
//显示个人信息
virtual void ShowInf() = 0;
//获取岗位名称
virtual void ShowJobName() = 0;
int m_Num;//职工编号
string m_Workername;//职工名称
};
在C++编程中,使用继承和多态时可能会遇到父类头文件中重复声明构造函数和析构函数导致的错误。删除这些额外的声明可以解决报错问题,允许代码正确编译。文章展示了如何通过移除不必要的构造函数和析构函数声明来消除错误。
2281

被折叠的 条评论
为什么被折叠?



