📄 mailbox.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 + -