Problem Statement

I wrote this code for an interview homework assignment. The problem statement was to create interfaces to provide a C++ application for a Deck of cards with interfaces to shuffle and deal those cards.

 

Approach

I have detailed my approach in the document below. I ended up using the Proxy Design pattern. 

Code

The code is all in this repository and is largely self-explanatory. I'd recommend reading the document above to understand the approach first before diving into the code.