Re[2]: автоматическая перегрузка абстрактных методов
От: Roman Odaisky Украина  
Дата: 12.04.08 10:02
Оценка:
Здравствуйте, Sni4ok, Вы писали:

А>>1. есть полностью абстрактный класс; когда создаем наследника от него, то нужно, чтобы студия автоматически добавляла определения методов, которые нам так и так нужно перегружать


S>заведомо нет методов которые нужно перегружать, так как наследник абстракного класса — сам может быть абстрактным классом.


А минус за что? Я тоже так считаю.

Например:
// для ясности
#define interface class
#define extends :
#define implements :

interface Displayable
{
public:
    void display(Device& device, Position pos) const
    {
        doDisplay(device, pos);
        device.repaint();
    }

private:
    virtual void doDisplay(Device &, Position) = 0;
};

class Window implements Displayable
{
public:
    . . .
private:
    void doDisplay(Device &, Position);
};

interface AlphaDisplayable extends Displayable
{
public:
    void display(Device& device, Position pos, AlphaChannelParameters const& params)
    {
        doDisplay(device, pos, params);
        device.repaint(params);
    }

private:
    virtual void doDisplay(Device &, Position, AlphaChannelParameters const &) = 0;
};

class CompositeWindow implements AlphaDisplayable
{
public:
    . . .
private:
    void doDisplay(Device &, Position);
    void doDisplay(Device &, Position, AlphaChannelParameters const &);
};

Как здесь определить, где что?
До последнего не верил в пирамиду Лебедева.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.