Реализации на С++
Publisher-subscriber
Общая реализация на языке С++
class Subscriber
{
public:
virtual ~Subscriber() = default;
virtual void method() = 0;
};
using Reseiver = Subscriber;
# include <iostream>
# include <memory>
# include <vector>
using namespace std;
int main()
{
shared_ptr<Subscriber> subscriber1 = make_shared<ConSubscriber>();
shared_ptr<Subscriber> subscriber2 = make_shared<ConSubscriber>();
shared_ptr<Publisher> publisher = make_shared<Publisher>();
publisher->subscribe(subscriber1, &Subscriber::method);
if (publisher->subscribe(subscriber2, &Subscriber::method))
publisher->unsubscribe(subscriber1);
publisher->run();
}
Last updated
Was this helpful?