ВУЗ:
Составители:
Рубрика:
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
Страницы
- « первая
- ‹ предыдущая
- …
- 23
- 24
- 25
- 26
- 27
- …
- следующая ›
- последняя »