64,649
社区成员
发帖
与我相关
我的任务
分享
#include <string>
#include <iostream>
#include <set>
using namespace std;
class Message;
class Folder{
friend class Message;
public:
Folder();
void displayMessage(string folderName,Folder& desFolder){
cout <<"The folder:" <<folderName <<" have follow message:" <<endl;
for(set <Message*>::iterator it=desFolder.Msgs.begin();it!=desFolder.Msgs.end();it++)
cout <<*it;
}
void addMessage(Message *messageName){
Msgs.insert(messageName);
}
private:
set <Message*> Msgs;
};
class Message{
friend class Folder;
public:
Message(const string &ms=""):contents(ms){ } //构造函数
void put_msg_to_folder(Folder& f){
Folders.insert(&f);
f.addMessage(this); //这里出错了
}
//显示每个消息被放置到的文件来信息
void displayFolder(string messageName,Message& desMessage){
cout <<"message:" <<messageName <<" in follow folder:" <<endl;
for(set <Folder*>::iterator it=desMessage.Folders.begin();it!=desMessage.Folders.end();it++)
cout <<(*it) <<endl;
}
private:
string contents; //保存Message内容的变量
set <Folder*> Folders;
};