Я храню объекты базовых и производных классов (Account, StudentAccount, WorkerAccount) в списке STL и обрабатываю их с помощью STL Iterator. Динамического полиморфного поведения объектов не происходит. Прочитав несколько сообщений на этом форуме, мне «кажется» (поскольку я не очень понимаю глубокие технические причины), что полиморфное поведение в списке STL невозможно. Я хотел знать, невозможно ли полиморфное поведение, каков обходной путь? Если мое мнение неверно, поделитесь ссылкой или примером кода. Я застрял в середине прототипа. Ниже приведена основная часть кода:
(с использованием Visual Studio 2022 с ISO C++ 14, консольное приложение)
list* log = new list(); // in constructor
bool Bank::add(const Account& acc)
{
// do some checking here
this->log->push_back(Account(acc));
return true;
}
bool Bank::addAccount(...parameter here...)
{
return this->add(Account(...parameter here...));
}
bool Bank::addStudentAccount(...parameter here...)
{
return this->add(StudentAccount(...parameter here...));
}
Подробнее здесь: https://stackoverflow.com/questions/784 ... c-stl-list