我在这里坐了10分钟试图想到这个头衔。如果有人可以,请随时改变它。
无论如何,我有两个类campus
和building
以及campus
本身的两个数组。但是,无论如何,我必须使用这些数组来设置ID
中building
的值。
在campus
,我有loadFile
和searchList
loadFile
从文件读取,并将值设置为building
中的三个成员变量以及前面提到的两个数组。
但是我需要使用searchList
打印出这些值。 (这是一项任务。如果我按照自己的方式行事,我可能会采用不同的方式,因为我对此非常不好)。
这里一切都在走下坡路。我对如何继续感到困惑。我尝试做的第一件事就是调用building
中loadFile
的构造函数,它是campus
的一部分,使用building::building(ID, name, description)
,它应该在构造函数本身中设置这些值。
然后在searchList
中,我认为我可以cout << building::getID() << building::getName() << building::getDescription();
(所有这些都是building
中的成员函数),但很明显,通过一系列错误,我意识到这不是{\ n}要走的路。
所以我试过而不是使用范围解析运算符,我应该在某处创建一个building
类型的变量。所以我在building a
内loadFile
并在定义这些值后设置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(更新以供编辑)。如有必要,我会将其编辑到这篇文章中。
无论如何,谢谢。
编辑:当然,答案是因为我是愚蠢的。阵列必须是类型构建,所以我可以分配所需数量的建筑物。我还没有完成任务,但现在我相信一切都很好。那可能会改变但是呃。谢谢你们!答案 0 :(得分:0)
目前您没有将建筑物存放在任何地方。您将它们放入一个名为a
的局部变量中,然后扔掉它们。
我怀疑练习的目的是将建筑物存放到数组academic
和recreation
中。您目前将它们作为int
数组,但可能它们应该是特定构建类的数组(我假设练习还希望您为建筑类型提供不同的构建类,可能作为{{1的子类}})。
一旦你的校园有自己的建筑物清单,你的很多问题都会自然地回答。