我在这里坐了 10 分钟,试图想出标题。如果有人可以,请随意更改它。
无论如何,我有两个类(class)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
中的成员函数)但显然通过一系列错误我意识到这不是要走的路。
所以我尝试不使用范围解析运算符,而是创建一个 building
类型的变量某处。所以我做了building a
里面loadFile
并设置 a = building(ID, name, description)
在定义这些值之后。
当然,这样我是访问不到a.getID
的在searchList
.所以我试着让它成为一个全局变量,但显然它不会那么简单。
如果您需要更多上下文,here's任务详情。
这是我的类(class)标题
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 (更新编辑)如果你需要它。如有必要,我会将其编辑到这篇文章中。
无论如何,谢谢。
编辑:当然,答案是因为我很笨。数组必须是建筑物类型,这样我才能分配所需数量的建筑物。我还没有完成任务,但现在我相信一切都很好。这可能会改变,但是嗯。谢谢大家!
最佳答案
目前您没有在任何地方存放您的建筑物。您将它们放入一个名为 a
的局部变量中,然后将它们丢弃。
我怀疑这个练习的目的是将建筑物存储到数组academic
和recreation
中。您目前将它们作为 int
数组,但它们可能应该是特定建筑类的数组(我假设该练习还希望您为建筑物类型设置不同的建筑类,可能作为建筑
).
一旦您的校园有了自己的建筑物列表,您的许多问题就会自然而然地得到解答。
关于c++ - 从成员变量中借用值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35305708/