我有两个课:问题和答案。我已正确构建它们并正确实现了大部分功能(这适用于学校,所以我必须设置一些方法)。
在课堂课程中,有这种方法:
class Question {
Answer getAnswer(int index) const;
}
我想知道我应该怎么称呼这个以及它如何影响范围。这是否意味着getAnswer仅对Question的对象可用?
我尝试执行以下操作,但在编译器中收到错误消息。
objectOfAnswer.getAnswer(index);
我收到以下错误消息:"没有名为' getIndex'在'回答'"
答案 0 :(得分:0)
好吧,如果您已有Answer对象,则没有理由尝试调用Answer对象的getAnswer(索引),因为您已经有了答案。
如果您想获得该问题的另一个答案,请考虑以下代码:
answer.getQuestion()->getAnswer(anotherIndex);
(我在这里假设getQuestion()返回一个指向问题的指针)
当然,那么你需要在Answer类中实际实现getQuestion()方法,这需要在Answer类中保留指向Question的指针。
答案 1 :(得分:0)
Question.hxx:
#include "Answer.hpp"
class Question{
public:
Answer getAnswer(int index) const;
}
Question.cxx:
#include "Question.hpp"
Answer Question::getAnswer(int index)
{
return new Answer();
}
main.cxx:
#include "Question.hpp"
int main()
{
Answer answer = Question::getAnswer(5);
return 0;
}