Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / C / C++ / Введение в язык C++ / Турне по C++ /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Виртуальные функции - Программирование от RIN.RU
Виртуальные функции

Предположим, что мы пишем программу для изображения фигур на экране. Общие атрибуты фигуры представлены классом shape, а специальные атрибуты - специальными классами:


class shape {
point center;
color col;
//...
public:
void move(point to) { center=to; draw(); }
point where() { return center; }
virual void draw();
virtual void rotate(int);
//...
};


Функции, которые можно определить не зная точно определенной фигуры (например, move и where, то есть, "передвинуть" и "где"), можно описать как обычно. Остальные функции описываются как virual, то есть такие, которые должны определяться в производном классе.


Например:


class circle: public shape {
int radius;
public:
void draw();
void rotatte(int i) {}
//...
};


Теперь, если shape_vec - вектор фигур, то можно написать:


for (int i = 0; i




 8  Комментарии к статье  8 8  Обсудить в чате

8  В тему

Комментарии

Типы и Описания

Выражения и Операторы

Функции

Структура программы

Классы

Перегрузка операций

Конструкторы

Вектора

Inline-подстановка

Производные классы

Еще об операциях

Друзья (friends)

Обобщенные Вектора

Полиморфные Вектора

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь