借用成员变量的值?

时间:2016-02-10 02:11:15

标签: c++ class oop inheritance

我在这里坐了10分钟试图想到这个头衔。如果有人可以,请随时改变它。

无论如何,我有两个类campusbuilding以及campus本身的两个数组。但是,无论如何,我必须使用这些数组来设置IDbuilding的值。

campus,我有loadFilesearchList

loadFile从文件读取,并将值设置为building中的三个成员变量以及前面提到的两个数组。

但是我需要使用searchList打印出这些值。 (这是一项任务。如果我按照自己的方式行事,我可能会采用不同的方式,因为我对此非常不好)。

这里一切都在走下坡路。我对如何继续感到困惑。我尝试做的第一件事就是调用buildingloadFile的构造函数,它是campus的一部分,使用building::building(ID, name, description),它应该在构造函数本身中设置这些值。

然后在searchList中,我认为我可以cout << building::getID() << building::getName() << building::getDescription();(所有这些都是building中的成员函数),但很明显,通过一系列错误,我意识到这不是{\ n}要走的路。

所以我试过而不是使用范围解析运算符,我应该在某处创建一个building类型的变量。所以我在building aloadFile并在定义这些值后设置a = building(ID, name, description)

当然,这样我无法访问a.getID中的searchList。所以我试着把它变成一个全局变量,但显然它不会那么简单。

如果您需要更多上下文,here's分配详细信息。

这是我的班级标题

int const maxPerBuildingType = 7;
class campus
{
friend class building;
//friend building::building(int, std::string, std::string);


private:
//int academic[maxPerBuildingType]; removed
//int recreation[maxPerBuildingType]; removed
building recreation[maxPerBuildingType];
building academic[maxPerBuildingType]; 
int numberOfAcademic; 
int numberOfRecreation;
std::string temp;
protected:

public:

campus();
static int const maxPerBuildingType;
void loadFile();
void searchList();

};

我不知道您是否需要这些定义,因为它确实是错误的,但如果您需要,它会here(更新以供编辑)。如有必要,我会将其编辑到这篇文章中。

无论如何,谢谢。

编辑:当然,答案是因为我是愚蠢的。阵列必须是类型构建,所以我可以分配所需数量的建筑物。我还没有完成任务,但现在我相信一切都很好。那可能会改变但是呃。谢谢你们!

1 个答案:

答案 0 :(得分:0)

目前您没有将建筑物存放在任何地方。您将它们放入一个名为a的局部变量中,然后扔掉它们。

我怀疑练习的目的是将建筑物存放到数组academicrecreation中。您目前将它们作为int数组,但可能它们应该是特定构建类的数组(我假设练习还希望您为建筑类型提供不同的构建类,可能作为{{1的子类}})。

一旦你的校园有自己的建筑物清单,你的很多问题都会自然地回答。