Skip to content

Instantly share code, notes, and snippets.

#include <string>
#include <iostream>
class Actor {
public:
Actor(const char* name) : name_(name) {}
virtual ~Actor() {}
virtual void update() = 0;
void swap() {
currentSlapped_ = nextSlapped_;
#include <string>
#include <iostream>
class Actor {
public:
Actor(const char* name) : slapped_(false), name_(name) {}
virtual ~Actor() {}
virtual void update() = 0;
void reset() { slapped_ = false; }
void slap() {
#include <string>
#include <iostream>
class Actor {
public:
Actor(const char* name) : slapped_(false), name_(name) {}
virtual ~Actor() {}
virtual void update() = 0;
void reset() { slapped_ = false; }
void slap() {
void Subject::removeObserver(Observer* observer) {
Observer** current = &head_;
while (*current != NULL) {
if (*current == observer) {
*current = (*current)->next_;
observer->next_ = NULL;
return;
}
current = &(*current)->next_;
}