标签:
简单工厂模式又称静态工厂方法模式,定义一个用于创建对象的接口。其主要组成部分为:
AnimalSpecies
Animal
Cat
、Dog
#include <iostream>
using namespace std;
class Animal
{
public:
virtual void showMessage()=0;//基类不在基类中实现纯虚函数的方法是在函数原型后加“=0”
};
class Cat :public Animal
{
public:
Cat(){}
void showMessage()
{
cout << "i am cat" << endl;
}
};
class Dog :public Animal
{
public:
Dog(){}
void showMessage()
{
cout << "i am dog" << endl;
}
};
class AnimalSpecies
{
public:
Animal *createAnimal(const char *name)
{
if (strcmp(name, "cat")==0) //1、== 返回0 2、>返回正数 3、<返回负数
{
return new Cat();
}
else if (strcmp(name,"dog")==0)
{
return new Dog();
}
}
};
int main()
{
AnimalSpecies *as=new AnimalSpecies();
Animal *dog=as->createAnimal("dog");
Animal *cat = as->createAnimal("cat");
dog->showMessage();
cat->showMessage();
system("pause");
return 0;
}
深入浅出设计模式(中文版): http://wenku.baidu.com/view/8fb442ce0508763231121206.html?from=search
标签:
原文地址:http://www.cnblogs.com/ucas/p/5380153.html