Skip to content

Instantly share code, notes, and snippets.

class ZooIF {
public:
virtual void EnterZooEarly(ZooPatron * patron) = 0;
virtual void AttendAnimalShow(ZooPatron * patron) = 0;
};
class ZooPatron {
public:
ZooPatron(std::string name)
: m_name(name) {}
virtual ~ZooPatron() {}
std::string GetName() { return m_name; }
ZooGuest::ZooGuest(std::string name)
: ZooPatron(name)
{
}
ZooGuest::~ZooGuest() {
}
class ZooGuest : public ZooPatron {
public:
ZooGuest(std::string name);
virtual ~ZooGuest();
virtual bool HasAnimalShowAccess()
{
return false;
}
virtual bool HasEarlyAccess()
@RobertLarson
RobertLarson / ZooMember.cpp
Created May 23, 2017 02:37
ZooMember.cpp
ZooMember::ZooMember(std::string name)
: ZooPatron(name) {
}
ZooMember::~ZooMember() {
}
class ZooMember : public ZooPatron {
public:
ZooMember(std::string name);
virtual ~ZooMember();
virtual bool HasAnimalShowAccess()
{
return true;
}
virtual bool HasEarlyAccess()
@RobertLarson
RobertLarson / MusicPlayerTest.cpp
Created May 10, 2017 02:53
MusicPlayerTest.cpp
int main()
{
MusicPlayer player;
player.Play();
player.Pause();
player.Stop();
return 0;
@RobertLarson
RobertLarson / StoppedState.cpp
Last active May 11, 2017 03:13
StoppedState.cpp
StoppedState::StoppedState()
: MusicPlayerState(std::string("Stopped")) {
}
StoppedState::~StoppedState() {
}
void StoppedState::Play(MusicPlayer * player)
{
@RobertLarson
RobertLarson / StoppedState.h
Last active May 11, 2017 03:14
StoppedState.h
class StoppedState : public MusicPlayerState {
public:
StoppedState();
virtual ~StoppedState();
virtual void Play(MusicPlayer * player);
};
@RobertLarson
RobertLarson / PausedState.cpp
Last active May 11, 2017 03:14
PausedState.cpp
PausedState::PausedState()
: MusicPlayerState(std::string("Paused")) {
}
PausedState::~PausedState() {
}
void PausedState::Play(MusicPlayer * player)
{