Assignment 2:Discrete Event-Driven Simulation
Primary Concepts
Priority Queues
Object-Oriented Frameworks
Inheritance and Polymorphism
Important Design Requirement
Your design must be based on "Modularity" and "Separation of Concerns".
Remember that interfaces represent behavior, while classes represent implementation.
The Priority Queue Data Structure and the Simulation Framework implementations must be based on "Information Hiding" and "Encapsulation".
The Software Gurus Bar is a client of the Simulation Framework.
The Simulation Framework is a client of the Priority Queue.
The Priority Queue neither knows about the Simulation Framework nor about the Software Gurus Bar.
TheSimulation Framework knows about the Priority Queue (through its API), but it doesn't know about the Software Gurus Bar.
The Software Gurus Bar Application knows about the Simulation Framework through its Interface (API), but it doesn't know about the Priority Queue.
Page/Slide 11 of the aboveSpecification Document
gives a partial perspective about the Design.
Make sure to comment your code well
In particular, EVERY public C++ class must be preceded by a header comment block. For example, see:
Google C++ Style Guide(Links to an external site.)Links to an external site.
Best practice for C++ function commenting from Stackoverflow(Links to an external site.)Links to an external site.
or just query Google for:
comment standards for C++(Links to an external site.)Links to an external site.