标签:line void src har family 对象 ica 一个 部分
在Application中存在方法openDocument进行文档的操作:
void Application::openDocument(const char* name)
{
if(!canOpenDocument(name))
return;
Document* doc = createDocument();
if(doc != NULL)
{
m_docs->addDocument(doc);
aboutToOpenDocument(doc);
doc->open();
doc->read();
}
}
一个模版方法用一些抽象的操作定义一个算法,而子类将重定义这些操作以提供详细的行为:
class Application
{
public:
void openDocument(const char* name);
protected:
virtual void canOpenDocument(const char* name);
virtual void createDocument();
virtual void aboutToOpenDocument();
private:
vector<Document*> m_docs;
};
class MyApplication : public Application
{
protected:
virtual Document* createDocument();
virtual void aboutToOpenDocument();
};
Document* MyApplication::createDocument()
{
return new MyDocument();
}
void aboutToOpenDocument()
{
// initialize doc object.
}
标签:line void src har family 对象 ica 一个 部分
原文地址:http://www.cnblogs.com/ljbguanli/p/7142173.html