Наследование реализации метода одноименного класса
От: slavo  
Дата: 06.09.07 15:26
Оценка:
День добрый,
есть два неймспейса, в которых есть одноименные классы. Класс неймспейса наследуется от одноименного класса из неймспейса . Теперь я хочу переопределяю виртуальную функцию , но хочу вызвать и унаследованный код. Как это сделать?


namespace NA1
{
    class cA1
    {
    public:
        
        virtual void Foo()
        {
            int a = 1;
        }
    };
}

namespace NA2
{
    class cA1: public NA1::cA1
    {
    public:
        
        virtual void Foo()
        {
            int b = 1;

            cA1::Foo();  // <----- как сказать, что мне нужно вызвать реализацию Foo из одноименного класса, но другого неймспейса?
        }
    };
}


Как сказать, что мне нужно вызвать реализацию Foo из одноименного класса, но другого неймспейса?
Так NA1::cA1::Foo(); не компиляется.
Так cA1::Foo(); вызывается текущий метод. Получается зацикливание.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.