Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Complex c1;



Рассмотрим операторы описанные выше:

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).

Вопросы:

8) В чем суть объектно-ориентированного подхода к программированию? Дать определение класса.





Дата публикования: 2014-11-28; Прочитано: 254 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...