Strategyの概要
Strategyとは,アルゴリズムをクライアントから引き離す。
同じインターフェースをもつ派生クラスにアルゴリズムを記述するというもの.
詳細は下記参考. yusuke-ujitoko.hatenablog.com
Cでの実装
#include <stdio.h> #define SORT(x) sort_##x##_() void sort_quick_(){ printf("Quick sort is selected.\n"); } void sort_bubble_(){ printf("Bubble sort is selected.\n"); } int main() { char input = '!'; while(input != 'q'){ system("cls"); printf("Choose a kind of sorting:\n(a) Quick sort\n(b) Bubble sort\n(q) Quit\n"); input = getchar(); if(input == 'a'){ SORT(quick); }else if(input == 'b'){ SORT(bubble); }else continue; system("pause"); } return 0; }