Download demo project - 15.7 Kb Contents Introduction Virtual list Creating a virtual list Add items to the list Handling the LVN_GETDISPINFO message Handling the LVN_ODFINDITEM message Handling the LVN_ODCACHEHINT message Changing an item Check boxe
原文: https://code.google.com/p/googlemock/wiki/CookBook Creating Mock Classes Mocking Private or Protected Methods Mocking Overloaded Methods Mocking Class Templates Mocking Nonvirtual Methods Mocking Free Functions The Nice, the Strict, and the Naggy
訪问者模式: 定义了一个作用于一个类的一些操作,訪问者模式同意在不改变类的前提下添加一些操作. Represent an operation to be performed on the elements of an object structure. Visitor lets you define a new operation without changing the classes of the elements on which it operates. UML类图: 主要包括: Vis
参考:深入应用C++11,访问者模式 #include <iostream> class ConcreteElement1; class ConcreteElement2; class Visitor{ public: virtual ~Visitor(){}; ; ; }; class ConcreteVisitor : public Visitor{ public: virtual ~ConcreteVisitor(){}; void visit(ConcreteElement1&
核心:将数据结构和数据的处理分开 注意:注意函数的参数传递和调用关系 例子: class Element; class Visitor { public: virtual void Visit(Element* element) = 0; }; class Element { public: virtual void accept(Visitor* visitor) { visitor->Visit(this); } }; class Book: public Element { string