Chciałbym móc rejestrować moje klasy w ramach std::map
lub wektora, nie myśl o duplikatach i na razie, , ale nie chcę rejestrować ich w ramach wywołanie klasy konstruktora lub jakakolwiek funkcja w klasie, w jakiś sposób robimy to poza klasą, więc nawet jeśli nigdy go nie utworzę, będę w stanie wiedzieć, że istnieje.Jakoś zarejestrować moje klasy na liście
Przykład:
// Somehow, from outside the myclass, in a scope that will be called
//in the begining of the proccess, add "MyClass1" to a
//list so it can be instanciated later
class MyClass1{
}
Wtedy zrobię #define
z nim lub jeśli stanie, szablon.
Nie wiem, czy wyraziłem się jasno (ponownie) ... Chodzi mi o to, że muszę znać każdą klasę, którą posiadam, bez konieczności nawiązywania połączenia z każdym z nich.
Moim pomysłem było stworzenie #define
aby ułatwić zadeklarować nagłówek klasy i wywołać coś, co byłoby zarejestrowanie tej konkretnej klasy do listy
można to zrobić albo będę musiał map go ręcznie?
// desirable:
#define CLASSREGISTER(myclass) makethemagic(##myclass); class myclass {
};
wiem, ze to określenie nie mogłem użyć dziedziczenia itd ... Chodzi mi o to, aby spróbować dać przykład, co myślałem, aby utworzyć jakoś ...
Myślę, że powinieneś dodać tag "wzorzec projektu". – Alexandru