C ++ суперкласс Массив еще доступ к методам подкласса? - PullRequest
1 голос
/ 09 сентября 2010

у меня есть класс аккаунтов от этого у меня есть 3 типа счетов сбережения, кредит и домашний кредит.

я создал двоичное дерево поиска для хранения всех учетных записей как тип учетной записи

как мне теперь получить доступ к методам подклассов в зависимости от типа объекта?

разрешил все ошибки с помощью синтаксиса и кодирования, но это.

ломал голову 2 дня. Кто-нибудь знает, как это делается?

1 Ответ

3 голосов
/ 09 сентября 2010

Простой ответ: если вам нужно получить доступ к функциональности производного класса из указателя базового класса, у вас возникла проблема проектирования.В принципе, вам не нужно знать.Если вы делаете, что-то не так.Вы должны (в чистом смысле) вызывать виртуальные функции из интерфейса базового класса, и чтобы производные классы реализовали свои переопределения так, чтобы они выполнялись правильно.

Теперь, иногда, практически, вам нужно,Так что есть вероятность уныния.Если у вас есть информация о типе времени выполнения в вашей сборке, вы можете сделать dynamic_cast<type*>, и если возвращаемый вами указатель не равен нулю, то у вас есть экземпляр этого типа.этот путь, оберните это во что-то опрятное и не позволяйте этому размножаться - это может стать грязным.Я предлагаю вам посмотреть, если нет лучшего способа, используя полиморфизм.

Веселитесь!

...