Программирование >>  Аргументация конструирования 

1 ... 81 82 83 [ 84 ] 85 86 87 ... 108


ЧастьУ

Полезные особенности

4h40 Жi 9М0 MiM hoMAbuWib

oHt НУЩ 1e.pt. p>tofi!




\ ВзМой части...

ШЖэтой книге не ставится цель сделать из вас

йЬ11: профессионала вобластпи C+ + , а всего лишь 1 -Ji предполагается дать вамтвердое понимание основ C++ Zyirk Ui: , Щкиобъектно-ориентированногопрограммирования. -

hd-ic ЩЛ предыдущихчастях книги вы приобрели самые . ТЩ Щнеобходимые знания по созданию качественной: ]

г -Щу..об ъектн.о-ориентированнойпрограммы...:. :

\ Конечно оке,. C++ весьма обширный и богатый [ ,= - 5, .Щ>а3нообра:ны миво3можностямитык,:

иосталось еще немала особенностей, которые требуют :/] : -л!;::Щ-;,4. освещения.. В этой части представлено краткое описание дополнительных и, по моему мнению,

::Щ .-наиболее полезных возможностей языка,

которые стоит использовать в первую очередь :-у:--г((х(>тя)т(> и не (>6я}сишльн(>).

-.-.АГ..--



Глава 24

Перегрузка операторов

Вэ/нои главе...

операторов: давайте жить в гармонии Операторная функция А подробнее?

Операторы как функции-члены

Еще одна перегрузка

операторов с помощью неявного преобразования типов

/ пециальные короткие символы, которые вы используете в C++ (+, -, & и т.п.)

Vi называются простыми операторами. Эти операторы (вернее, их действия) уже определены для таких встроенных типов, как int, double и char (для некоторых типов отдельные операторы не определены). Эти операторы, конечно же, не определены для классов, которые создали вы сами (эти классы называются пользовательскими).

Вероятно, нам повезло: C++ позволяет определять, что именно будут означать операторы, если их применить к пользовательским классам. Эта особенность, называемая перегрузкой операторов, и является темой данной главы.

Я не зря сказал вероятно . Обычно перегрузка операторов не обязательна и, более того, противопоказана новичкам в программировании на C + + . Следует также отметить, что многие опытные программисты на C++ считают перегрузку операторов не такой уж хорошей идеей. Так что, если вы не чувствуете себя в силах освоить эту тему, можете пропустить данную главу и вернуться к ней позже, когда вам станет интересно и вы почувствуете себя готовым понять ее.

Итак, я вас предупредил; тем не менее вы все-таки хотите знать, как перегружать оператор присвоения, а также операторы << и >> ... К счастью, существуют щаб-лоны, которым можно следовать для переопределения этих трех операторов (что значительно облегчает дело). Поскольку я не хочу, чтобы вы запутались в этих трех операторах, я не пожалел ддя каждого из них отдельной главы.

Позвольте повториться (мне не нравится получать гневные письма с упоминанием всей моей родословной из-за того, что кто-то перегрузил какой-то оператор и теперь не знает, как ему заставить программу снова работать): перегрузка оператора может привести Сжам, которые очень трудно выявить. Еще раз проверьте, знаете ли вы, что делаете, прежде чем что-то переопределять.

TCefietfUfSica oneftaMofioi:

Язык C++ что пользовательские типы имеют такие же права, как

и встроенные, например int или char. Коль скоро операторы определены для встроенных типов, почему бы не позволить определять их для пользовательских типов?




1 ... 81 82 83 [ 84 ] 85 86 87 ... 108

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика