невиртуальная функция с тем же именем
От: Amor Россия  
Дата: 22.06.04 07:24
Оценка:
Всем привет. вот код:
class IA
{
public:
     virtual void foo() = 0 ;
};

class CA : public IA
{
     int m_a ;
public:
     void foo( int a ) { m_a = a ; }
     void func()
     {
          // Здесь надо вызвать функцию IA::foo() ;
          foo() ; // Если так, компилятор ругается, что foo не принимает 0 параметров.
          // IA::foo(); // если так, то линкер ругается, на то что не реализованна функция IA::foo().
          return ;
     }
};

class CAImpl : public CA
{
public:
     virtual void foo() {} ;
};

int main(int argc, char* argv[])
{
     CAImpl impl ;
     impl.func() ;
    return 0;
}

Как быть (vc6.0)
заранее спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.