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

C++ 如何调用在另一个类(c+;+;)中声明的方法,c++,class,C++,Class,我有两门课:问答课。我已经正确地构建了它们,并且正确地实现了大部分功能(这是为学校准备的,所以我必须实现一些固定的方法) 在课堂提问中,有以下方法: class Question { Answer getAnswer(int index) const; } 我想知道我应该怎么称呼它,以及它是如何影响范围的。这是否意味着getAnswer仅对问题对象可用 我尝试执行以下操作,但在编译器中收到错误消息。 objectOfAnswer.getAnswer(索引) 我收到了以下错误消息:“在'A

我有两门课:问答课。我已经正确地构建了它们,并且正确地实现了大部分功能(这是为学校准备的,所以我必须实现一些固定的方法)

在课堂提问中,有以下方法:

class Question {
   Answer getAnswer(int index) const;
}
我想知道我应该怎么称呼它,以及它是如何影响范围的。这是否意味着getAnswer仅对问题对象可用

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


我收到了以下错误消息:“在'Answer'中没有名为'getIndex'的成员”

好吧,如果您已经有一个Answer对象,那么没有理由尝试调用Answer对象的getAnswer(index),因为您已经有了答案

如果你想得到这个问题的另一个答案,请考虑这样的代码:

answer.getQuestion()->getAnswer(anotherIndex);
(这里我假设getQuestion()返回一个指向问题的指针)

当然,您需要在Answer类中实际实现getQuestion()方法,这需要在Answer类中保留一个指向问题的指针。

Question.hxx:

#include "Answer.hpp"

class Question{

   public:

   Answer getAnswer(int index) const;
}
问题.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;
}

那么您是否为
Answer::getIndex(int-index)const提供了类成员定义
问题
代码中可以看到吗?是的,到目前为止您发布的内容确切地表示:“getAnswer仅对问题对象可用”。