首页

欢迎

 

Welcome

欢迎来到这里, 这是一个学习数学、讨论数学的网站.

转到问题

请输入问题号, 例如: 2512

IMAGINE, THINK, and DO
How to be a scientist, mathematician and an engineer, all in one?
--- S. Muthu Muthukrishnan

Local Notes

Local Notes 是一款 Windows 下的笔记系统.

Local Notes 下载

Sowya

Sowya 是一款运行于 Windows 下的计算软件.

详情

下载 Sowya.7z (包含最新版的 Sowya.exe and SowyaApp.exe)


注: 自 v0.550 开始, Calculator 更名为 Sowya. [Sowya] 是吴语中数学的发音, 可在 cn.bing.com/translator 中输入 Sowya, 听其英语发音或法语发音.





注册

欢迎注册, 您的参与将会促进数学交流. 注册

在注册之前, 或许您想先试用一下. 测试帐号: usertest 密码: usertest. 请不要更改密码.


我制作的 slides

Problem

随机显示问题

Problèmes d'affichage aléatoires

计算数学 >> 数据结构
Questions in category: 数据结构 (Data Structure).

问题主要在 第二个类Mailbox中 然后在测试时 无法输出

Posted by 120702117 on 2014-04-06 22:30:39 last update 2014-04-06 22:30:39 | Answers (1)


主要问题 在程序中都有所标记

 

 

#include<iostream>
#include<ctime>
#include<string>
#include<vector>
using namespace std;

//这个类没有问题

 class Message
 {
     public:
        Message();
        void append();
        string to_string()const;
        void print() const;
    private:
        string name1,name2;
        string article;
        time_t now_time;
 };

 Message::Message()
 {
     cout<<"Please enter the recipient\'s name:"<<endl;
     getline(cin,name1);
     cout<<"Please enter the addresser\'s name:"<<endl;
     getline(cin,name2);
     now_time=time(NULL);
     append();
 }
void Message::append()
 {
     string add_string;
     cout<<"Please enter the add message"<<endl;
     getline(cin,add_string);
     article=article+add_string;
 }
 string Message::to_string()const
 {
     return "**********\nFrom:"+name2+"\nTo:"+name1+"\n"+article;
 }
 void Message::print()const
 {
    cout<<to_string()<<endl;
    cout<<ctime(&now_time)<<"**********" <<endl;
 }


 class Mailbox
 {
     public:
     Mailbox();

    //问题应该在这几个成员函数中
     void add_message(Message mes){MAIL.push_back(mes);}
     void remove_message(int i);
     Message get_message(int i);
     private:
     vector<Message>MAIL;

 };
 void Mailbox::remove_message(int i)//删掉MAIL中的第i个元素
 {
     vector<Message>::iterator pos;
     pos=MAIL.begin();
     MAIL.erase(pos+i);
 }
 Message Mailbox:: get_message(int i)//得到MAIL中的第i个元素
 {
     return MAIL[i];
 }


 int main()
 {
     Message mes1;
     Message mes2;
     Message mes3;
     Mailbox mail;
     mail.add_message(mes1);
     mail.add_message(mes2);
     mail.add_message(mes3);

     mail.remove_message(1);
    Message m1,m2;
    //下面这几句 怎么改  都老是 出错- -。也可能是上面函数体出错  求老师指教
    m1=mail.get_message(0);
    m2=mail.get_message(1);
     cout<<m1.print()<<endl;
     cout<<m2.print()<<endl;
     return 0;
 }