Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Шашки. Класс-Интерфейс 
:(
    Опции темы
exceilence
Дата 30.12.2009, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 22.6.2009
Где: Москва

Репутация: нет
Всего: нет





Есть класс-интерфейс    iFigure
У него есть метод move
Код

class iFigure {
    public:
    virtual ~iFigure(){};
    virtual void move( Coordinates, Coordinates ); //= 0
};




зачем ~ тильда ?
зачем =0 в конце move ?
-----------------------------------------------------------------------------------------

Идём дальше. Мне нужно 
чтобы наследники имели метод move  (для того и интерфейс)



Код

class XXXFigure : public iFigure {
    public:
    void move( Coordinates from, Coordinates to ) {
        .....
    }
};

class ZZZFigure : public iFigure {
    public:
    void move( Coordinates from, Coordinates to ) {
        .....
    }
};




Есть третий класс, который содержит фигуру!!! Но он не знает какая там она будет! XXXFigure или ZZZFigure!

Так как он должен это место зарезервировать???  как для кого?   как для iFigure  ???
PM MAIL   Вверх
mes
Дата 30.12.2009, 19:33 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(exceilence @  30.12.2009,  15:52 Найти цитируемый пост)
зачем ~ тильда ?

читайте про деструкторы

Цитата(exceilence @  30.12.2009,  15:52 Найти цитируемый пост)
зачем =0 в конце move ?

и про чисто виртуальные методы и абстрактные классы

Цитата(exceilence @  30.12.2009,  15:52 Найти цитируемый пост)
Так как он должен это место зарезервировать???  как для кого?   как для iFigure  ??? 

а также про полиморфизм..

smile
резервировавть место не получится, но получится хранить по ссылке / указателю на базовый.



--------------------
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0423 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.