Nie jestem pewien czy nazwa wątku oddaje sedno sprawy; jeżeli nie to przepraszam. Mojej przygody z oop ciąg dalszy: zastanawiam się czy jest możliwość wywoływania odpowiedniego konstruktora w zależności od podanego parametru. Pokazuję i objaśniam o co mi chodzu:
class Employee;
class A: public Employee;
class B: public Employee;
class C: public Employee;
// *** kod ***
void employ(const std::string str)
{
if (str == "A")
{
A some_new_employee;
}
else if (str == "B")
{
B some_new_employee;
}
else if (str == "C")
{
C some_new_employee;
}
some_new_employee = generate_random_employee(some_new_employee);
// *** dalej kod ***
}
Oczywiście rozumiem że ww. kod jest niepoprawny. Chciałem zobrazować moje pytanie. Z tego co czytałem rozwiązanie tego problemu nie jest łatwe. Proszę o potwierdzenie tego. Czy macie pomysł jak to ładnie zaimplementować?