Recentemente ho inciampato sul seguente codice C ++ che mi ha confuso un po ':
class One {/*definition*/};
template<class Base > class Two : public Base {/*definition*/};
template<class Base > class Three : public Base {/*definition*/};
template<class Base > class Four : public Base {/*definition*/};
class Five : public Four < Three< Two < One > > > {/*definition*/};
Conosco lo scopo dei modelli e più o meno quando e come usarli.
Esiste un nome o un modello comune per una cascata di diversi modelli?
Quando dovrei usare questo modello (invece di qualcosa di meno complesso)?
P.S .: la definizione della classe Five è in realtà vuota.