Форум: "Потрепаться";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];
ВнизПерегрузка операторов и Шаблоны Найти похожие ветки
← →
Piter (2004-01-15 15:41) [0]Вот тут темы разгораются про это в C++. А объясните - что это такое?
Перегрузка операторов - это я так понимаю... ну допустим можно сделать, чтобы "+" не складывал числа, а умножал. Верно?
Только не очень понимаю, а где это может так пригодиться?
А вот насчет шаблонов - объясните так в ламерских терминах, не с примерами, а просто для чего и в чем идея
← →
Ломброзо (2004-01-15 15:46) [1]Пожалуйста. TList знаешь? В Delphi него можно засунуть только Pointer. Или написать наследник, принимающий строго типизированный параметр. В шаблон же как параметр передаётся класс, и компилятор сам "пишет" этого самого типизированного наследника.
← →
MPS (2004-01-15 15:58) [2]Например вот:
в си++:
struct complex {
double d;
int i;
complex& operator+(complex &c)
{ d = d + c.d; i = i + c.i; return *this; }
}
...
complex a, b, c;
...
c = a + b;
Вот так! А в дельфе ты бы делал так:
type complex = record
var d: double;
var i: integer;
end;
...
var a, b, c: complex;
...
c.d = a.d + b.d;
c.i = a.i + b.i;
Си позволяет эту рутину скрыть что делает код более читабельным и понимаемым
← →
Piter (2004-01-15 16:28) [3]>Ломброзо © (15.01.04 15:46) [1]
не очень понял. TList знаю немного...
>В Delphi него можно засунуть только Pointer
что ты имеешь в виду? В него Pointer засунуть? Ты про какое-то его свойство, про FList или про что?
>Или написать наследник, принимающий строго типизированный параметр
чего принимающий? Ты сейчас опять же про конструктор или про что?
← →
MV (2004-01-15 16:30) [4]Ну, нет тут такого!!!!!!!!!!!
И все!
← →
euru (2004-01-15 16:56) [5]>MV (15.01.04 16:30) [4]
>Ну, нет тут такого!!!!!!!!!!!
>И все!
Ну, не совсем все так плохо. Для начала приведу цитату из оригинальной ветки ( http://delphimaster.net/view/14-1072265455/):
MV (25.12.03 12:47) [30]
...
Для перегрузки простых функций типа сравнения вполне можно (для простых типов) использовать Variant (он расширяемый, мы все знаем об это, конечно?), с последующим контролем типов; а для сравнения (etc) экземпляров классов никакие шаблоны не помогут. Один черт два экземпляра класса без перегрузки соответствующих операций не сравнишь.
Небольшое уточнение: у типа Variant можно перегружать все бинарные и унарные операции (а не только сравнения).
В принципе, и шаблоны в какой-то мере можно реализовать на основе этого типа.
← →
Dimka Maslov (2004-01-15 17:35) [6]Это что новая болезнь сайта? Спрашивать про это дело?
← →
Piter (2004-01-15 17:40) [7]Объясните на пальцах зачем нужны шаблоны классов...
← →
Ломброзо (2004-01-15 17:46) [8]> Piter © (15.01.04 17:40) [7]
www.rsdn.ru
← →
Игорь Шевченко (2004-01-15 17:56) [9]Piter © (15.01.04 17:40) [7]
> Объясните на пальцах зачем нужны шаблоны классов...
А где квитанция об оплате за консультацию ? Или эта...чужое время ничего не стоит ? Самому в Яндексе слова "шаблоны классов" религия набрать не позволяет ? ;)
← →
DiamondShark (2004-01-15 18:02) [10]В яндексе будет на буквах. А надо на пальцах.
← →
Piter (2004-01-15 18:36) [11]Да ну вас, почему бы не написать в каждую ветку сообщение аналогичное Игорь Шевченко © (15.01.04 17:56) [9] ?
← →
Игорь Шевченко (2004-01-15 18:41) [12]
> Да ну вас
Самое разумное решение. Почитай http://ln.com.ua/~openxs/articles/smart-questions-ru.html - оно полезно
← →
Piter (2004-01-16 12:55) [13]Игорь Шевченко, да я согласен. Непонятен один момент - если сейчас заведу тему "Как устроен string" - то посыпится куча ответов людей, почитавших Т&П. И никто не будет отправлять к существующим материалам, наверняка. Забьемся? :)
А вот тут сразу посылают. Я про то и говорю, посылаете меня - посылайте и всех остальных, тут из 10 вопросов только один заслуживает внимания. А на остальные девять можно отвечать RTFM
← →
KSergey (2004-01-16 13:04) [14]Дык на них часто так и отвечают ;)
Хотя опять же - обижаются...
← →
Игорь Шевченко (2004-01-16 13:06) [15]Piter © (16.01.04 12:55)
Как устроен стринг - это мелкая тема. Что такое шаблоны и перегрузка операторов - это большая тема. Почувствуйте разницу.
#ifdef FLAME
Блин, 10 раз мог бы за это время в Яндексе найти кучу сайтов, где все предметно объясняется. Откуда такая любовь к халяве и неуважение к чужому времени ?
#endif
← →
DiamondShark (2004-01-16 13:11) [16]
> Piter © (16.01.04 12:55) [13]
Аналогия не в цвет.
"Как устроен string" -- информация узкоспециальная, и действительно малопубликуемая. А вот если спросишь "Как устроен TForm", то посыпятся исключительно RTFM. Забьёмся?
Точно так же и с subj.
Это информация широко описанная, страуструпов всяких в сети самосвал с тележкой.
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.039 c