Add Strategy Pattern in C++