(六)Chat

2023-03-25  本文已影响0人  GoodTekken
#include<iostream>
#include <string>

using namespace std;

class User
{
    private:
        string name;
    
    public:
        User(string name)
        {
            this->name = name;  //(1)
        }
        ~User()
        {
            ;
        }

        void setName(string name)
        {
            this->name = name;
        }

        string getName()
        {
            return name;
        }

        void sendMessage(string message);
};

class ChatRoom
{
    public:
        static void showMessage(User* user, string message)
        {
            cout << "{" <<user->getName() << "}:" << message << endl;
        }
};

void User::sendMessage(string message)
{
    ChatRoom::showMessage(this,message);  //(2)
}

class ChatRoomSystem
{
    public:
        void startup()
        {
            User* zhang = new User("John");
            User* li = new User("Leo");

            zhang->sendMessage("Hi! Leo!");
            li->sendMessage("Hi! John!");
        }

        void join(User* user)
        {
            user->sendMessage("Hello Everyone! I am " + user->getName());  //(3)
        }
};

int main()
{
    ChatRoomSystem* crs = new ChatRoomSystem();   //(4)
    crs->startup();
    crs->join(new User("Wayne"));   //(5)
    delete crs;
    return 0;
}

答案:
(1) this->name

(2) ChatRoom::showMessage

(3) user->sendMessage

(4) new ChatRoomSystem()

(5) new User

上一篇 下一篇

猜你喜欢

热点阅读