Re: абстрактные классы
От: semishin1  
Дата: 12.02.04 09:43
Оценка:
Здравствуйте, butcher, Вы писали:

B>Здравствуйте, можно ли, сделать так:

B>создать абстрактный класс (назовём его BaseA)
B>
B>class BaseA{
B>  class Dummy {};
B>public:
B>  virtual void Init (Dummy *pThis) = 0;
B>};
B>

B>а в его потомках переопределять Init шаблоном:
B>
B>class A: public BaseA {
B>  class Dummy {};
B>  Dummy      *m_ptr;
B>public:
B>  template <class T>
B>     void Init (T *pThis);
B>};
B>

B>судя по моим попыткам — нельзя, как можно такой сделать?
B>хочется чтобы мжно было обращаться к методам классов потомкам BaseA через BaseA->Init ();

Думаю нельзя, поскольку реализация чисто абстрактного метода будет определяться компиляторам по его сигнатуре в купе с именем, но шаблон не даст такой возможности.
... << RSDN@Home 1.1.2 stable >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.