Объектно-ориентированный язык программирования С++ в примерах. Сивохин А.В. - 25 стр.

UptoLike

Составители: 

9.Компилятор автоматически вызывает конструкторы при оп-
ределении объектов,а деструкторы - при их удалении.
10.Конструкторы и деструкторы могут неявно вызывать соот-
ветственно операции new и delete,когда для объекта требует-
ся выделение памяти.
11.Объект с конструктором или деструктором никогда не мо-
жет быть членом объединения из-за сложностей,возникающих при
организации использования общей области памяти,выделенной для
членов объединения.
1.4.Полиморфизм операций,функций и
составных объектов
1.4.1.Полиморфизм операций
В языке С++ имеется специальный аппарат для перегрузки(over-
load) операций,который позволяет программисту задавать требу-
емый смысл для имеющихся в языке операций при их применении к
объектам вновь определяемых классов.Тем самым обеспечивается
полиморфизм операций языка.Кроме арифметических,можно опреде-
лять еще и логические операции,операции сравнения, вызова () и
индексирования [], а также можно переопределять присвоение и
инициализацию,определять явное и неявное преобразование между
типами,определяемыми программистом и основными. Ранее в приме-
рах использовалась операция вывода << в выходной поток cout,
являющаяся переопределением операции сдвига влево.Это переоп-
ределение сделано в стандартном заголовочном файле с именем
stream.h.В этом же файле перегружена еще одна операция - опе-
рация сдвига вправо >> для дополнения ее новым смыслом как вы-
вод в стандартный поток вывода cin.Расширение семантики опера-
ций позволяет программисту обеспечить более общепринятую и
удобную запись для манипулирования объектами классов,чем та,
которую можно достичь,используя лишь основную функциональную
запись.
Обозначим через @ переопределяемую операцию,которой может
быть любая операция языка С++.
+ - * / % ^ &: ~ ! = < > += -= *= /= %= ^= &=:= << >>
>>= <<= == != <= >= &&:: ++ -- [] () new delete
25
 9.Компилятор автоматически вызывает конструкторы при оп-
ределении объектов,а деструкторы - при их удалении.
 10.Конструкторы и деструкторы могут неявно вызывать соот-
ветственно операции new и delete,когда для объекта требует-
ся выделение памяти.
  11.Объект с конструктором или деструктором никогда не мо-
жет быть членом объединения из-за сложностей,возникающих при
организации использования общей области памяти,выделенной для
членов объединения.


            1.4.Полиморфизм операций,функций и
                      составных объектов


                1.4.1.Полиморфизм операций


  В языке С++ имеется специальный аппарат для перегрузки(over-
load) операций,который позволяет программисту задавать требу-
емый смысл для имеющихся в языке операций при их применении к
объектам вновь определяемых классов.Тем самым обеспечивается
полиморфизм операций языка.Кроме арифметических,можно опреде-
лять еще и логические операции,операции сравнения, вызова () и
индексирования [], а также можно переопределять присвоение и
инициализацию,определять явное и неявное преобразование между
типами,определяемыми программистом и основными. Ранее в приме-
рах использовалась операция вывода << в выходной поток cout,
являющаяся переопределением операции сдвига влево.Это переоп-
ределение сделано в стандартном заголовочном файле с именем
stream.h.В этом же файле перегружена еще одна операция - опе-
рация сдвига вправо >> для дополнения ее новым смыслом как вы-
вод в стандартный поток вывода cin.Расширение семантики опера-
ций позволяет программисту обеспечить более общепринятую и
удобную запись для манипулирования объектами классов,чем та,
которую можно достичь,используя лишь основную функциональную
запись.
  Обозначим через @ переопределяемую операцию,которой может
быть любая операция языка С++.
  + - * / % ^ &: ~ ! = < > += -= *= /= %= ^= &=:= << >>
  >>= <<= == != <= >= &&:: ++ -- [] () new delete
                              25