如何实现抽象基类的子类构造函数?

时间:2018-10-17 23:10:42

标签: c++ clion

因此,我要遵循一个UML图,并且已经实现了大多数Exam类,但是我遇到了两个问题,

UML Digram

问题1:

csc232::pd::Exam::Exam(double points) {

}

然后出现错误

“'csc232 :: pd :: Exam'的构造函数必须显式初始化没有默认构造函数的基类'csc232 :: pd :: Assignment'”

问题2:

GradeType csc232::pd::Exam::getGrade() const {
return nullptr;
}

这给我的错误是GradeType未定义。

如果有人乐于向我指出纠正这些错误的正确方向,我将非常感激。我目前仅致力于实现基本的Assignment类和Exam子类。如果您需要更多信息,请告诉我。 (:

1 个答案:

答案 0 :(得分:0)

第一个错误很明显,只需通过调用构造函数初始化基类即可。

csc232::pd::Exam::Exam(double points) : Assignment( points ) {
}

第二个错误是由于未完全限定返回类型Grade的结果。 Gradecsc232::pd的成员,因此您需要编写:

csc232::pd::GradeType csc232::pd::Exam::getGrade() const {
  return nullptr;
}