tmethod.c

来自「Design Pattern C Source Code」· C语言 代码 · 共 100 行

C
100
字号
/**/#include "Foundation.H"/**/class Document;class Application {public:  void OpenDocument(const char*);  virtual bool CanOpenDocument(const char*);  virtual Document* DoCreateDocument();  virtual void AboutToOpenDocument();};class Document {public:  virtual void Open();  virtual void DoRead();};/**/void Application::OpenDocument (const char* name) {    if (!CanOpenDocument(name)) {        // cannot handle this document        return;    }/**/    Document* doc = DoCreateDocument();    if (doc) {        _docs->AddDocument(doc);        AboutToOpenDocument(doc);        doc->Open();        doc->DoRead();    }}/**/class ParentClass {  public:    void Operation();    virtual void HookOperation();};class DerivedClass : public ParentClass {  public:    void Operation();    virtual void HookOperation();};/**/void DerivedClass::Operation () {    // DerivedClass extended behavior    ParentClass::Operation();}/**/void ParentClass::Operation () {    // ParentClass behavior    HookOperation();}/**/void ParentClass::HookOperation () { }/**/void DerivedClass::HookOperation () {     // derived class extension}/**/class View {public:    void Display();    void SetFocus();    virtual void DoDisplay();    void ResetFocus();};class MyView : public View {public:    virtual void DoDisplay();};/**/void View::Display () {    SetFocus();    DoDisplay();    ResetFocus();}/**/void View::DoDisplay () { }/**/void MyView::DoDisplay () {    // render the view's contents}/**/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?