源码:https://download.youkuaiyun.com/download/sinat_33859977/11317099
product.cpp
#include "product.h"
#include <QtDebug>
Product::Product()
{
}
void Product::show()
{
qDebug() << "product";
}
producta.cpp
#include "producta.h"
#include <QtDebug>
ProductA::ProductA()
{
}
void ProductA::show()
{
qDebug() << "productA";
}
factory.cpp
#include "factory.h"
#include <QtDebug>
#include "producta.h"
Factory::Factory()
{
}
Product *Factory::creatProduct(TYPE type)
{
Product *temp = NULL;
switch (type) {
case A:
temp = new ProductA();
break;
default:
break;
}
return temp;
}
main.cpp
#include <QApplication>
#include "factory.h"
#include "product.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Product *productTemp = NULL;
Factory factoryTemp;
productTemp = factoryTemp.creatProduct(A);
productTemp->show();
delete productTemp;
return a.exec();
}
UML类图