C++ - Klasa po nazwie

0

Witam,

Mam taki zwykły program w konsoli do napisania. Mam drzewko, które się składa z klas, głównym zadaniem jest zaimplementowanie tych klas jako dziedziczenia. Tzn. te klasy które są na dole drzewka, mają dziedziczyć po klasach z wyższego poziomu drzewka.
I są do tego jakieś funkcje do dorobienia, jedna z nich przy której mam problem to polecenie CD [nazwa klasy], czyli takie "chodzenie po klasach".

Moje pytanie jest takie: Jak zrobić takie coś, że jak wpisze CD [A] gdzie A to nazwa mojej przykładowej klasy, żeby przechwycił mi te A (rozpoznał że to jest klasa A), utworzył obiekt tej klasy A i uruchomił mi jakąś funkcję z tej klasy.

Chodzi tutaj głównie o uniwersalność, czyli dowolnie jaką klasę bym wpisał w tym CD program by mi po nazwie rozpoznał jaka to klasa i zrobił to co opisałem wyżej.

Dziękuję wielkie za pomoc.

Pozdrawiam :)

0

Jako klasę bazową do wszystkich klas zrób:

class Root
{
public:
  virtual const string className() const=0;
  virtual Root* parent() { return parent_; }
  virtual Root* left() { return left_; }
  virtual Root* right() { return right_; }
  virtual ~Root() {}
protected:
  Root *parent_, *left_, *right_;
};

dodatkowo każda klasa pochodna powinna posiadać konstruktor który przyjmuje rodzica

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0