Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > перегрузка операторов


Автор: maxutov 7.9.2006, 18:35
Здравствуйте,
что такое полиморфизм?
что такое перегрузка операторов?
как перегрузить операторы, такие, как +, -, *, /, [] и т. п.
и заставить их делать разные вещи в зависимости от типа данных?
как определить новый тип и применить к нему операцию сложения?
спасибо 

Автор: _hunter 7.9.2006, 18:52
открой любой учебник по плюсам и почитай его. большинство вопросов само отпадет.

P.S.
один топик -- один вопрос

Автор: zkv 7.9.2006, 20:46
Цитата(maxutov @  7.9.2006,  18:35 Найти цитируемый пост)
что такое полиморфизм?

это можно понять ИМХО только тогда, когда необходимо будет его применить
Цитата(maxutov @  7.9.2006,  18:35 Найти цитируемый пост)
что такое перегрузка операторов?

например в коде 
Код

int a=1, b=2;
int c = a+b;

c будет присвоено значение 3, а если мы хотим чтобы оператор + всегда возвращал 4, то делаем так:
Код

int operator+(int a, int b)
{
int ret;              //тут можно делать что хочешь
ret = a+b;         //тут можно делать что хочешь
return 4;       //тут можно делать что хочешь
}

возможно где то ошибся, НО СМЫСЛ ПОНЯТЕН?

Автор: MAKCim 7.9.2006, 21:04
Цитата

что такое полиморфизм?

возможность единообразного управления множеством различных типов данных за счет общего интерфейса

Добавлено @ 21:05 
Цитата

что такое перегрузка операторов?

возможность применять операторы к пользовательским типам данных возможно с измененной семантикой

Автор: maxutov 8.9.2006, 01:42
Цитата(zkv @ 7.9.2006,  20:46)
возможно где то ошибся, НО СМЫСЛ ПОНЯТЕН?

Понятно
большое спасибо всем

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)