Decorator

インスタンスにひとつひとつ機能を重ねて、盛っていくような場合に、Decoratorパターンを使う。

12. Decorator パターン | TECHSCORE(テックスコア)

main.cppに、

ハイフンでくくる、括弧でくくる。
それだけではなく、ハイフンの外に括弧、括弧の外にハイフン、など2重にもできる。

$ vi main.cpp 
$ g++ -o main main.cpp simple_print.cpp hyphen_print.cpp bracket_print.cpp 
$ ./main 
-ABCDE-
[FGHIJ]
[-XYZ-]
-[ZYX]-
$

こんな感じ。

Sample/designpattern/decorator/decorator/src/decorator at master · bg1bgst333/Sample · GitHub