Template Method Pattern ohne virtual?
-
Hallo! Mit den Templates kann man sehr viele Sachen anstellen, Dir mir bis vor kurzem noch gar nicht bewusst waren. Nun habe ich eine einfache Frage: Lässt sich das Template Method Pattern auch über Templates realisieren, oder benötige ich zwangsläufig abstrake (virtual) Methoden? Ich denke nicht das es ohne gehen kann, aber ich würde mich gerne eines besseren Belehren lassen!

-
es ist sowas ähnliches möglich. Dann leitest du nichtmehr ab, sondern übergibst die konkrete implementation als template parameter.
also in etwa so:
template<class Bar1,class Bar2> class Foo { private: Bar1 bar1; Bar2 bar2; public: void test() { if(!bar1.doSth()) bar2.fubar(); } }; class Example1 { public: bool doSth() { return true; } }; class Example2 { public: void fubar() { ... } }; ... Foo<Example1,Example2> test;
-
Super, besten Dank! Werde damit mal ein wenig rumspielen.