С++: Первые шаги Mafin-а

Форум для программистов

Сообщение Lynn » Вс май 18, 2003 4:12 pm

Ну, например, написал ты библиотеку работы с комплексными числами (ногами не пинать <!--emo&:)-->Изображение<!--endemo-->) и хочешь, что бы сложение для сложения двух таких чисел писать a+b, а не cplxAdd(a,b ). Для этого можно использовать перегрузку оператора "+".
Последний раз редактировалось Lynn Вс май 18, 2003 10:27 pm, всего редактировалось 1 раз.
Where were you while we were getting high? — Oasis, Champagne Supernova
Lynn
Капитан
 
Сообщений: 267
Зарегистрирован: Пн апр 07, 2003 1:09 pm
Откуда: Москва
Пункты репутации: 0

Сообщение Mafin » Вс май 18, 2003 4:19 pm

2Lynn
У меня в книженции именно такой же пример! Т.е. я оператор "+" использую как функцию сложения, которая вернет мне правильно сложенное комплексное число? <!--emo&:ph34r:-->Изображение<!--endemo-->
Правильно я понимаю?! <!--emo&:unsure:-->Изображение<!--endemo-->
<span style='color:green'>Я здесь, я везде, я всегда...</span>
Mafin
Полковник
 
Сообщений: 1585
Зарегистрирован: Пт мар 29, 2002 9:53 am
Откуда: Центральная Чехия
Пункты репутации: 0

Сообщение Scalder » Вс май 18, 2003 5:53 pm

2Mafin
1) 2 поста подрят - символ плохого поведения... это я тебе как модер.
2) <!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->перегружать операторы<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd--> хе-хе <!--emo&:)-->Изображение<!--endemo-->)
доупустим ты создал свою структуру и хочешь чтоб можно было писать так:
x1,x2 - твоя структура
x1=x1+x2 и для того чтоб у тебя это работало тебе нужно перегрузить оператор "+".... ну это короче говоря только вершина айзберга <!--emo&:)-->Изображение<!--endemo-->) (оч. хороший пример взял по памяти из Липмана)
<!--coloro:green--><span style="color:green"><!--/coloro-->А что я не так сказал?<!--colorc--></span><!--/colorc-->
<!--coloro:red--><span style="color:red"><!--/coloro-->А ты как думал? Конечно это ИМХО<!--colorc--></span><!--/colorc-->

<!--coloro:red--><span style="color:red"><!--/coloro-->>В каждом системном администраторе есть что-то от Бога.<!--colorc--></span><!--/colorc-->
В каждом программисте есть что-то от Бога для Бога. :-р
<a href="http://www.erepublik.com/en/referrer/mrScalder" target="_blank">Изображение</a>
Scalder
Генерал-майор
 
Сообщений: 2587
Зарегистрирован: Пн апр 08, 2002 10:21 am
Пункты репутации: 0

Сообщение Mafin » Вс май 18, 2003 6:01 pm

2Scalder<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->2 поста подрят - символ плохого поведения... это я тебе как модер<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
Где тута подрят 2??? <!--emo&:o-->Изображение<!--endemo--> <!--emo&:huh:-->Изображение<!--endemo--> <!--emo&:(-->Изображение<!--endemo-->

А за пример спасибо, потихоньку втыкает! <!--emo&B)-->Изображение<!--endemo-->
<span style='color:green'>Я здесь, я везде, я всегда...</span>
Mafin
Полковник
 
Сообщений: 1585
Зарегистрирован: Пт мар 29, 2002 9:53 am
Откуда: Центральная Чехия
Пункты репутации: 0

Сообщение dAnIK SeNT » Вс май 18, 2003 6:57 pm

перегрузка операторов или функций? хотя, впрочем один фиг.
нужны они для удобства. вызываешь одну и ту же функцию /используешь один и тот же оператор с разными параметрами. и в зависимости от параметров можешь получать различный результат. Пример - встроенный оператор + может складывать целые числа и выдавать целый результат. а может складывать вещественные и результат вещественный будет. ты можешь перегрузить стандартный оператор + добавив к нему возможность складывать, к примеру, комплексные числа, векторы или матрицы. и будешь спокойно писать что-то вроде
Код: выделить все
MyVector vec1, vec2, vec3;
...
vec1 = vec2 + vec3;

правда, для того чтобы работал приведенный пример, придется еще перегрузить оператор =.
яНЯЕД ОН СОПЪФЙЕ: Athlon 64 X2 5200+ @2,86GHz / nF 570 SLI (ASUS M2N SLI Deluxe) / 4 Gb RAM (4x1Gb Kingston) / 2,9Tb SATAII (0,50+0,64+0,75+1,00Tb WD) / ASUS 8800 GTS512 / 2x NEC-Optiarc AD-7173 / Thermaltake ToughPower 650W / 2x30W Microlab Solo-2 / 20" LCD Benq FP202W (wide) / openSUSE 11.1 / KDE 4.2.1
<!--coloro:Navy--><span style="color:Navy"><!--/coloro-->оН БЯЕЛ БНОПНЯЮЛ - Б email. б ICQ ОНЪБКЪЧЯЭ ПЮГ Б ОНКЦНДЮ.<!--colorc--></span><!--/colorc-->
dAnIK SeNT
Маршал
 
Сообщений: 5101
Зарегистрирован: Чт мар 28, 2002 7:48 pm
Откуда: яяяп
Пункты репутации: 0

Сообщение Mafin » Вс май 18, 2003 7:29 pm

2dAnIK SeNT
Ясненько! <!--emo&;)-->Изображение<!--endemo-->
С функциями мне изначально понятно было, а вот с операторами как-то пока медленно усваивается. Литература какая-то мне попадается пАХАная! Все очень сумбурно и без примеров (не считая комплексных чисел). <!--emo&:huh:-->Изображение<!--endemo-->

Конкретнее A.Koening, B.E.Moo "Accelerated C++ Practical Programming by Example" и M.Virius "C++ Programming".
<span style='color:green'>Я здесь, я везде, я всегда...</span>
Mafin
Полковник
 
Сообщений: 1585
Зарегистрирован: Пт мар 29, 2002 9:53 am
Откуда: Центральная Чехия
Пункты репутации: 0

Сообщение ssm » Пн май 19, 2003 6:22 am

Могу посоветовать для начинающего следующий учебник:
Stanley Lippman (Стенли Липпман)
Essential C++(Основы программирования на С++.)
В єлектронном виде ее(а также много чего интерестного) можно поиметь с Анатоликса (http://anatolix.naumen.ru/cppbooks.htm)
матюкаться - плохо
ssm
Старшина
 
Сообщений: 46
Зарегистрирован: Ср апр 23, 2003 4:49 pm
Откуда: гоновер, германия
Пункты репутации: 0

Сообщение Scalder » Пн май 19, 2003 7:54 am

2ssm
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Стенли Липпман<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
темный писатель <!--emo&:)-->Изображение<!--endemo-->) респект <!--emo&:)-->Изображение<!--endemo-->
<!--coloro:green--><span style="color:green"><!--/coloro-->А что я не так сказал?<!--colorc--></span><!--/colorc-->
<!--coloro:red--><span style="color:red"><!--/coloro-->А ты как думал? Конечно это ИМХО<!--colorc--></span><!--/colorc-->

<!--coloro:red--><span style="color:red"><!--/coloro-->>В каждом системном администраторе есть что-то от Бога.<!--colorc--></span><!--/colorc-->
В каждом программисте есть что-то от Бога для Бога. :-р
<a href="http://www.erepublik.com/en/referrer/mrScalder" target="_blank">Изображение</a>
Scalder
Генерал-майор
 
Сообщений: 2587
Зарегистрирован: Пн апр 08, 2002 10:21 am
Пункты репутации: 0

Сообщение Mafin » Пн май 19, 2003 8:18 am

2ssm
За линк выражаю устную благодарность! <!--emo&:)-->Изображение<!--endemo--> Давно требовалось разнообразие... <!--emo&B)-->Изображение<!--endemo-->
<span style='color:green'>Я здесь, я везде, я всегда...</span>
Mafin
Полковник
 
Сообщений: 1585
Зарегистрирован: Пт мар 29, 2002 9:53 am
Откуда: Центральная Чехия
Пункты репутации: 0

Сообщение ssm » Пн май 19, 2003 8:18 am

2Scalder
Обоснуй
матюкаться - плохо
ssm
Старшина
 
Сообщений: 46
Зарегистрирован: Ср апр 23, 2003 4:49 pm
Откуда: гоновер, германия
Пункты репутации: 0

Сообщение Scalder » Пн май 19, 2003 8:26 am

2ssm
то что липман темный писака? А что тут обосновать-то?
Просто темный - мне нравиться излагает достпно о сложном <!--emo&:)-->Изображение<!--endemo-->) сам начинал читать... думаю дочитаю сейчас страупа и его буду читать <!--emo&:)-->Изображение<!--endemo-->
<!--coloro:green--><span style="color:green"><!--/coloro-->А что я не так сказал?<!--colorc--></span><!--/colorc-->
<!--coloro:red--><span style="color:red"><!--/coloro-->А ты как думал? Конечно это ИМХО<!--colorc--></span><!--/colorc-->

<!--coloro:red--><span style="color:red"><!--/coloro-->>В каждом системном администраторе есть что-то от Бога.<!--colorc--></span><!--/colorc-->
В каждом программисте есть что-то от Бога для Бога. :-р
<a href="http://www.erepublik.com/en/referrer/mrScalder" target="_blank">Изображение</a>
Scalder
Генерал-майор
 
Сообщений: 2587
Зарегистрирован: Пн апр 08, 2002 10:21 am
Пункты репутации: 0

Сообщение ssm » Пн май 19, 2003 8:37 am

2Scalder
={} Не забывай разводить с ИМХО!
мое же имхо, будет таким: БС - не руководство к действию и не книга для тех кто вообще нерулит в ООП, С, С++. Для прочтения его трудов крайне желательно иметь базовые представления о всей этой каше.
Свое имхо, могу подкрепить авторитетом ACCU:
<a href='http://www.accu.org/bookreviews/public/reviews/0sb/beginner_s_c__.htm' target='_blank'>http://www.accu.org/bookreviews/public/rev...inner_s_c__.htm</a>
Жду подкреплений твоего ;-P
матюкаться - плохо
ssm
Старшина
 
Сообщений: 46
Зарегистрирован: Ср апр 23, 2003 4:49 pm
Откуда: гоновер, германия
Пункты репутации: 0

Сообщение Scalder » Пн май 19, 2003 9:51 am

2ssm
по моему ты темы перепутал <!--emo&:)-->Изображение<!--endemo-->
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Не забывай разводить с ИМХО!<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
о бо всем что я говорю можно сказать имхо <!--emo&:)-->Изображение<!--endemo-->, если я правильно тебя понял <!--emo&:)-->Изображение<!--endemo-->
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->БС - не руководство к действию<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
за БС я понимаю Брайан Страуступ... и ты хочешь сказать, что, то что гоорит разработчик не правильно? На любое руководство должна вводиться поправка - это не вопрос.
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Для прочтения его трудов крайне желательно иметь базовые представления о всей этой каше.<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
это я имею <!--emo&:)-->Изображение<!--endemo-->
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Свое имхо, могу подкрепить авторитетом ACCU:<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
что-то не подкрепляеться <!--emo&:)-->Изображение<!--endemo--> - ссылка не рабочая <!--emo&:)-->Изображение<!--endemo-->
<!--coloro:green--><span style="color:green"><!--/coloro-->А что я не так сказал?<!--colorc--></span><!--/colorc-->
<!--coloro:red--><span style="color:red"><!--/coloro-->А ты как думал? Конечно это ИМХО<!--colorc--></span><!--/colorc-->

<!--coloro:red--><span style="color:red"><!--/coloro-->>В каждом системном администраторе есть что-то от Бога.<!--colorc--></span><!--/colorc-->
В каждом программисте есть что-то от Бога для Бога. :-р
<a href="http://www.erepublik.com/en/referrer/mrScalder" target="_blank">Изображение</a>
Scalder
Генерал-майор
 
Сообщений: 2587
Зарегистрирован: Пн апр 08, 2002 10:21 am
Пункты репутации: 0

Сообщение Mafin » Пн май 19, 2003 10:00 am

Не могу понять, чего вы спорите! <!--emo&<_<-->Изображение<!--endemo-->

2Scalder
Ну а ссылка рабочая. <!--emo&B)-->Изображение<!--endemo-->
<span style='color:green'>Я здесь, я везде, я всегда...</span>
Mafin
Полковник
 
Сообщений: 1585
Зарегистрирован: Пт мар 29, 2002 9:53 am
Откуда: Центральная Чехия
Пункты репутации: 0

Сообщение ssm » Пн май 19, 2003 11:02 am

2Scalder
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->по моему ты темы перепутал <!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
возможно ты - невнимателен


<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->за БС я понимаю Брайан Страуступ... и ты хочешь сказать, что, то что гоорит разработчик не правильно? На любое руководство должна вводиться поправка - это не вопрос.<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->

я всего лишь говорю о том, что должна быть соответствующая подготовка перед прочтением БС, и рекомендовать его новичкам - смерти подобно

<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->это я имею <!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
так не о тебе ведь разговор то был :-)

<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->что-то не подкрепляеться  - ссылка не рабочая<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
ты что-то спутал ...


2Mafin
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Не могу понять, чего вы спорите!<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
без спора - истину, увы, не найти
матюкаться - плохо
ssm
Старшина
 
Сообщений: 46
Зарегистрирован: Ср апр 23, 2003 4:49 pm
Откуда: гоновер, германия
Пункты репутации: 0

Пред.След.

Вернуться в Программирование

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron