Specification DesignPattern with C++