Czy mogę użyć stałej liczby, aby wybrać klasę w czasie kompilacji, ewentualnie używając szablonów?
Powiedzmy, że mam stałą wartość (być może jakiegoś typu wyliczeniowego). Powiedzmy, że mam wiele klas A, B, D itd.
Czy mogę mieć coś takiego?
C<1> anInstanceOfA; //This will be of type A
C<2> anInstanceOfB; //This will be of type B
C<3> anInstanceOfD; //This will be of type D
Czy jest więc możliwe wybranie klasy opartej na stałej liczbie w czasie kompilacji?
Ogólny problem polega na tym, że próbuję wybrać funktor oparty na tabeli, w której indeks jest wyliczony. Chciałbym uniknąć polimorfizmu, jeśli to możliwe.
Edytować: W tym projekcie nie mogę używać C ++ 11, dzięki i tak, kto odpowiedział w tym kontekście, bardzo interesujący wiedzieć.
Edytuj 2: Ogólnie mogę mieć więcej niż 2 klasy docelowe, edytowałem moje pytanie