设计模式 策略模式2 c++11
生活随笔
收集整理的這篇文章主要介紹了
设计模式 策略模式2 c++11
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
根據需求的不同 選擇不同的策略算法
之前是保存的各種策略類的指針
這里直接使用 function ?bind 選擇對應的算法
代碼
// 005.cpp: 定義控制臺應用程序的入口點。 // #include "stdafx.h" #include <functional> #include <iostream>using namespace std;int MyAdd(int a, int b) { return a + b; }class MyMinus { public:int operator()(int a, int b) {return a - b;} };class binary_operators { public:typedef std::function<int(int, int)> FUNC;binary_operators(FUNC f,int a, int b) :func_(f),left(a), right(b),result(0) {}int GetResult() { return func_(left, right); } private:std::function<int(int, int)> func_;int left;int right;int result; };int main() {binary_operators addOperation(std::function<int(int, int)>(MyAdd),1,2);binary_operators minusOperation(std::function<int(int, int)>(MyMinus()), 5, 7);std::cout << "addOperation(1,2) result: " << addOperation.GetResult() << std::endl;std::cout << "minusOperation(5,7) result: " << minusOperation.GetResult() << std::endl;return 0; } View Code?
轉載于:https://www.cnblogs.com/itdef/p/7457016.html
總結
以上是生活随笔為你收集整理的设计模式 策略模式2 c++11的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Tableau+财务领域数据分析+应用
- 下一篇: hbase安装部署