如何调用在另一个类中声明的方法(c ++)

时间:2015-03-21 18:53:44

标签: c++ class

我有两个课:问题和答案。我已正确构建它们并正确实现了大部分功能(这适用于学校,所以我必须设置一些方法)。

在课堂课程中,有这种方法:

class Question {
   Answer getAnswer(int index) const;
}

我想知道我应该怎么称呼这个以及它如何影响范围。这是否意味着getAnswer仅对Question的对象可用?

我尝试执行以下操作,但在编译器中收到错误消息。 objectOfAnswer.getAnswer(index);

我收到以下错误消息:"没有名为' getIndex'在'回答'"

2 个答案:

答案 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;
}