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.