📄 complexfactory.h
字号:
// ComplexFactory.h: interface for the ComplexFactory class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_COMPLEXFACTORY_H__F3887F27_1C50_43BB_BE32_44060F5EF7A1__INCLUDED_)
#define AFX_COMPLEXFACTORY_H__F3887F27_1C50_43BB_BE32_44060F5EF7A1__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "GraphicFactory.h"
//=================================================================
//复杂类工厂(SingleTon);
//=================================================================
class ComplexFactory : public GraphicFactory
{
public:
//实例化唯一复杂类工厂实例方法;
static ComplexFactory* Instance();
virtual ~ComplexFactory();
protected:
//不允许客户直接调用,防止多个实例生成;
ComplexFactory();
public:
//创建点图形元素;
virtual Point* CreatePoint (){ return new Point() ;}
//创建线图形元素;
virtual Line* CreateLine (){ return new Line() ;}
//创建圆图形元素;
virtual Circle* CreateCircle (){ return new Circle();}
//创建矩形图形元素;
virtual Rect* CreateRectangle(){ return new Rect() ;}
private:
//唯一实例指针;
static ComplexFactory* m_onlyOneInstance;
//唯一实例是否被实例化标志;
static bool m_onlyOne;
};
#endif // !defined(AFX_COMPLEXFACTORY_H__F3887F27_1C50_43BB_BE32_44060F5EF7A1__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -