• 大小: 2.98KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-02-21
  • 标签:

资源简介

C++实战源码-策略模式的简单应用(入门级实例224).zip

资源截图

代码片段和文件信息

// Chooser.cpp : Defines the entry point for the console application.
//

#include “stdafx.h“
#include “ioStream.h“

const GIF = 1;
const JPEG = 2;

//抽象类
class ImageSaver {
public:
    virtual void save() = 0;//定义save()方法
};

class GIFSaver :public ImageSaver {
public:
virtual void save() {//实现save()方法
        cout << “将图片保存成GIF格式“ << endl;
    }
};

class JPEGSaver :public ImageSaver {
public:
virtual void save() {//实现save()方法
        cout << “将图片保存成GIF格式“ << endl;
    }
};

class TypeChooser {
public:
static ImageSaver* getSaver(int type) {
        if (type == GIF) {//使用if else语句来判断图片的类型
            return new GIFSaver();
        } else if (type == JPEG) {
            return new JPEGSaver();
        }else {
            return NULL;
        }
    }
};


int main(int argc char* argv[])
{
cout << “用户选择了GIF格式:“ << endl;
ImageSaver *saver = TypeChooser::getSaver(GIF);//获得保存图片为GIF类型的对象
saver->save();
cout << “用户选择了JPEG格式:“ << endl;//

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1176  2010-10-14 19:04  Chooser\Chooser.cpp
     文件        4548  2010-10-14 18:56  Chooser\Chooser.dsp
     文件         539  2010-10-14 18:56  Chooser\Chooser.dsw
     文件         294  2010-10-14 18:56  Chooser\StdAfx.cpp
     文件         769  2010-10-14 18:56  Chooser\StdAfx.h

评论

共有 条评论