⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mailbox.h

📁 BigC++的源码
💻 H
字号:
#ifndef MAILBOX_H
#define MAILBOX_H

using namespace std;

#include <string>
#include <queue>

class Message;

/**
   A mailbox contains messages that can be listed, kept, or discarded.
*/
class Mailbox
{
public:
   /**
      Create a mailbox object.
      @param a_passcode passcode number
      @param a_greeting greeting string
   */
   Mailbox(string a_passcode, string a_greeting);

   /**
      Check if the passcode is correct.
      @param a_passcode a passcode to check
   */
   bool check_passcode(string a_passcode) const; 

   /**
      Add a message to the mailbox.
      @param a_message the message to be added
   */
   void add_message(Message* a_message);

   /**
      Get the current message.
      @return the current message
   */
   Message* get_current_message() const;

   /**
      Remove the current message from the mailbox.
   */
   void remove_current_message();

   /**
      Save the current message.
   */
   void save_current_message();

   /**
      Change the mailbox's greeting.
      @param new_greeting the new greeting string
   */
   void set_greeting(string new_greeting);

   /**
      Change mailbox's passcode.
      @param new_passcode the new passcode
   */
   void set_passcode(string new_passcode);

   /**
      Get the mailbox's greeting.
      @return the greeting
   */
   string get_greeting() const;
private:
   queue<Message*> new_messages;
   queue<Message*> kept_messages;
   string greeting;
   string passcode;
};

inline Mailbox::Mailbox(string a_passcode, string a_greeting)
   : passcode(a_passcode), greeting(a_greeting)
{
}

inline bool Mailbox::check_passcode(string a_passcode) const
{
   return passcode == a_passcode;
}

inline void Mailbox::add_message(Message* a_message)
{
   new_messages.push(a_message);
}

inline void Mailbox::set_greeting(string new_greeting)
{
   greeting = new_greeting;
}

inline void Mailbox::set_passcode(string new_passcode)
{
   passcode = new_passcode;
}

inline string Mailbox::get_greeting() const
{
   return greeting;
}

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -