complexfactory.h

来自「C语言库函数(包括所有的C语言库函数)」· C头文件 代码 · 共 50 行

H
50
字号
// 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 + =
减小字号Ctrl + -
显示快捷键?