【发布时间】:2020-05-24 11:06:31
【问题描述】:
当我偶然发现一个错误时,我正在尝试学习 c++。我有这个类继承自 PERSON 类。
#include <iostream>
#include <string>
class PERSON
{
private:
std::string name;
bool sex;
public:
PERSON(std::string name, bool sex) : name(name) , sex(sex){};
//methods
};
class TEACHER: public PERSON
{
private:
std::string title;
public:
TEACHER(std::string name, bool sex, std::string title) : PERSON(name,sex), title(title){};
//methods
};
现在问题开始了,当我需要将此类 TEACHER 放置在构造函数中以创建类 CLASSROOM 并将它们作为参数传递时。
class CLASSROOM : public TEACHER
{
private:
std::string name;
TEACHER lecturer;
TEACHER s_teacher;
public:
CLASSROOM(std::string name, TEACHER lecturer , TEACHER s_teacher){};
//methods
};
当我编译它时,它显示“错误没有匹配函数调用 'TEACHER::TEACHER()'”,我不知道如何初始化 CLASSROOM 构造函数。我尝试了一些事情,比如像初始化其他构造函数一样初始化构造函数,但出现了同样的错误。
【问题讨论】:
标签: c++ class constructor initialization