C++ C++;课程顺序
抱歉,如果以前有人问过这个问题,如果是,请删除一个链接。 我对C++是相当新的。 我有一个项目,需要我创建一个类似Twitter的程序;每个用户都有自己的墙、主页、好友列表、收件箱等。问题是我必须提交一个.cpp文件;我必须把所有的课程放在一个文件里。现在C++从上到下进行读取,所以我对创建/引用其他类有一个问题,因为它们还没有被定义。 例如,由于用户包含一个由FriendsList类生成的对象,所以我必须首先放置FriendsList,但还有一个问题,即由于用户尚未定义,所以我无法生成容纳用户的数组 对不起,如果这是一个愚蠢的问题 编辑: 我将如何进行远期申报C++ C++;课程顺序,c++,class,C++,Class,抱歉,如果以前有人问过这个问题,如果是,请删除一个链接。 我对C++是相当新的。 我有一个项目,需要我创建一个类似Twitter的程序;每个用户都有自己的墙、主页、好友列表、收件箱等。问题是我必须提交一个.cpp文件;我必须把所有的课程放在一个文件里。现在C++从上到下进行读取,所以我对创建/引用其他类有一个问题,因为它们还没有被定义。 例如,由于用户包含一个由FriendsList类生成的对象,所以我必须首先放置FriendsList,但还有一个问题,即由于用户尚未定义,所以我无法生成容纳用户
class FriendsList;
class User()
{
FriendsList* friends;
//constructor and other stuff
};
class FriendsList()
{
//stuff
};
是这样吗?对不起,我只是糊涂了。我想我明白你的意思了。奇怪的是,他们让你把所有的东西都放在一个文件里。那我该怎么办。下面是一个例子
class user{
string url = "homepage"
class friendList{
user currFriend;
user* nextFriend;
};
class wall{
string status = "empty status";
};
class inbox{
int number_of_messages;
};
};
我也认为这个网站可能会有所帮助。
如果此帮助或它没有查找“前向定义”以解决两个类的问题,请发送消息或发表评论,这取决于彼此的定义 但是…我不认为这是真正解决你问题的方法。考虑使用<代码> STD::列表< /C> >(或<代码>向量< /代码>或<代码>数组< /代码>或任何适合您的需要)以保存所需的信息。查找C++集合,然后从那里开始< /P>
class user
{
std::list<user&> m_Friends;
std::list<std::string> m_Messages;
std::list<std::string> m_Wall;
};
类用户
{
列出你的朋友;
std::列出m_消息;
标准::清单m_墙;
};
转发声明是我大部分问题的解决方法。感谢您对其他替代方案的帮助和提示 可能重复编辑,以询问我将如何进行正向声明。是的,这就是如何进行正向声明。我曾考虑过使用嵌套类,但我读到它不是首选。我只是想知道有没有更简单的。但这是一个有效的选择!即使他使用了向量,他还需要一个向前声明吗?如果User
包含vector
和FriendsList
包含vector
,则仍然存在循环依赖关系。您根本不需要类FriendsList。这就是列表mu Friends
的字面意思。但是他可能还有其他方法要为FriendsList
类定义。