Читайте также: |
|
Рассмотрим операторы описанные выше:
1) 2 преобразуется к 2.0,затем создается временный объект, вызовом конструктора с умалчиваемыми значениями, с данными (2.0, 0.0).
В результате создается объект с2 с данными (7.5, 6.5).
2) ‘0’ преобразуется в целое 48, которое преобразуется в вещественное
48.0, создается временный объект с данными (48.0, 0.0).
В результате создается объект с данными (53.5, 6.5).
Иногда бывает необходимость преобразовать переменные некоторого класса в базовые типы.
Проблема решается с помощью специального оператора преобразования типа.
Рассмотрим это преобразование для класса stroka. Преобразование типа stroka в тип char*.
Чтобы объекты класса можно было бы передавать функциям модуля string.h, надо в описание класса включить компонентную функцию:
1)
operator char* () { return ch; } (1)
И тогда в предложении
stroka s1(“string”)
char* s = s1;
произойдет преобразование объекта s1 к типу char*, правило (1), и переменной s присвоится значение “string”.
2)
Аналогично можно определить в классе преобразование:
operator int () { return len; } (2)
И тогда в предложении:
int l = s1;
переменная класса (объект s1) преобразуется к целому значению по правилу описанному в операторе преобразования (2).
Вопросы:
1) В чем суть объектно-ориентированного подхода к программированию? Дать определение класса.
Дата добавления: 2015-07-19; просмотров: 57 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Void main ( ) | | | Соответственно, действия по предоставлению не должны включать в себя действия по созданию предмета предоставления. Однако нормы ЗК РФ противоречат вышеизложенной логике. |