Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
А в чем тогда проблема? 14.07.03 13:32 Число просмотров: 1233
Автор: amirul <Serge> Статус: The Elderman
|
> В таком случае, если тип нужно заранее указывать, проще > просто сделать две функции, каждая из которых будет > работать со своим типом указателя. Просто эти функции будут > практически идентичны, вот я и хотел упростить их в одну. Вынеси всю работу, общую для обоих типов в отдельную функцию. А потом доделывай специфичные операции.
> Пишу на С++, но эта функция является методом базового > класса и вызывается только в методах базового класса. > Поэтому мне проще сделать две функции, чем усложнять > структуру класса, создавая лишний абстрактный базовый > класс. Дык этот базовый и делай абстрактным. В общепринятой терминологии любой класс, имеющий виртуальные функции называется абстрактным (кажется так), потому как функции использовать уже можно а реализация может появиться уже позже зарелизенного класса.
Короче сделай эту функцию виртуальной, тогда "полем типа" будет vptr - указатель на таблицу виртуальных функций и присваиваться он будет автоматически при создании объекта. А из реализации переопределенной виртуальной функции вызывай общий обработчик (скорее всего он будет реализован в базовом классе), а после этого (или перед этим) делай работу, специфичную для каждого класса.
> Спасибо за советы!
|
|
|