First设计模式C++重现