我的父类 Course 有方法 addStudent(Student s)。我的子类 BetterCourse 继承自 Course。每次我尝试运行 BetterCourse.addStudent(s) 时,都会收到以下错误:
错误:没有调用“BetterCourse::addStudent(Student (&)())”的匹配函数 注意:候选人是:void Course::addStudent(Student)
我知道它告诉我 addStudent() 尚未在 BetterCourse 中定义,它建议我使用父类 Course 中存在的那个。这让我感到困惑,因为围绕继承的整个想法不需要重新定义继承的函数和变量。
课程如下:
#include <iostream>
#include <string>
#include "Student.h"
using namespace std;
class Course
{
protected:
string id;
string name;
public:
Course();
Course(string id, string name);
void addStudent(Student s);
};
Course::Course()
{
//code
}
Course::Course(string id, string name)
{
//code
}
void Course::addStudent(Student s)
{
//code
}
更好的课程:
#include <iostream>
#include <string>
#include "Course.h"
using namespace std;
class BetterCourse : public Course
{
public:
BetterCourse(string id, string name) : Course(id,name){};
};