Template-s kérdés

 ( Dragor | 2011. március 20., vasárnap - 18:56 )

Itt található az osztálydiagram
A Kérdés pedig következő lenne:
Hogy lehet ellenőrizni fordítási időben, hogy CLASS_C template parametere az CLASS_A típusból származik-e. Az ellenőrzésen úgy értem, hogy ne forduljon a kód ha nem.
Válaszokat előre is köszönöm.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

up

up

CLASS_A membernek beraksz egy static const int foo = 1; sort, es CLASS_C constructoraba egy int bar = T.foo;-ot.

Igy szintaktikailag helytelen lesz a kod (vagyis nem fog fordulni), ha a T nem CLASS_A-bol szarmazik, es valoszinuleg futasidoben nem jelent majd veszteseget, hisz a fordito kioptimalizalja a nem hasznalt valtozot a CLASS_C-bol.

Lásd pl. a Derived_from template struct-ot itt.