C ++将值从一个类传递给一个抽象类

时间:2016-12-24 18:09:32

标签: c++ class oop inheritance abstract-class

我想说我想创建一个测验程序。我有一个抽象类问题及其子类名为QuestionMC。然后我有类播放器,它将从用户获取播放器名称和文件名(用于fstream)等播放器信息。如何将类播放器(文件名和播放器名称)中的信息传递给类问题?

 $engine->initial_report = Url:to(['/report/receipts']);        // Name of report to run

2 个答案:

答案 0 :(得分:0)

只要班级QuestionMC来自班级Questionpublic的所有protectedQuestion成员都会在QuestionMC中继承。

设置filename类的Question,然后将其设为QuestionMC的成员,然后将其添加到您的

void QuestionMC::setfilename(filename)
{
    this->filename = filename;
    mcfilename = filename;
}

它有效但只有一个问题:继承的目的是什么?只要在基类中成员filename,为什么要在派生类中再次声明它?

答案 1 :(得分:0)

我对此的解决方案是创建第三个类,将指针存储到您使用的所有内容中 - 在您的情况下,它会存储:

指向播放器类的指针。

指向类Question的指针,或者如果之后创建的话,指向包含所有问题指针的向量。

然后,你添加该课程'指针作为这两个类(Player和Question)的成员,这将使他们能够相互访问。

这个类将是一个全局变量,在程序结束之前永远不应该被删除(否则每当尝试访问其他类时它都会崩溃)。