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 + -
显示快捷键?