Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Практична робота № 5. «Дослідження перевантаження операцій та операторів»



Практична робота № 5. «Дослідження перевантаження операцій та операторів»

Мета: Оволодіти практичними навичками по розробці класів, що містять перевантажені операції.

Обладнання та програмне забезпечення: IBM PC – сумісний ПК; операційна система Windows; середовище програмування Visual C++.

Порядок виконання.

1. Для заданого варіанту розробити клас, що містить перевантажені операції.

2. Реалізувати заданий клас використовуючи зовнішній опис методів класу.

У звіт входить текст програми і відповіді на контрольні запитання.

Контрольні запитання.

1. В чому полягає зміст перевантаження операцій, на чому побудований механізм перевантаження?

2. Який формат запису операторної функції?

3. Які операції не перевантажуються?

4. Яких правил слід притримуватись при перевантаженні бінарних операцій.

Теоретичні відомості

 

Мова С++

Опис перевантаження операцій:

<опис перевантаження операцій>::=

<опис перевантаження унарної операції> |

<опис перевантаження бінарної операції>

<опис перевантаження унарної операції>::= <позначка класу>

operator <позначка унарної операції> ()

{<тіло перевантаженої унарної операції>}

<тіло перевантаженої унарної операції>::= <тіло закритої

підпрограми, яке закінчується оператором return *this; >

<опис перевантаження бінарної операції>::=

<позначка типу значення, що вироблюється>

operator <позначка бінарної операції> (<параметр>)

{<тіло перевантаженої операції>}

<тіло перевантаженої операції>::= <тіло закритої підпрограми>

<параметр>::= <другий операнд перевантаженої бінарної операції>

 

Опис перевантаження оператора привласнення:

<опис перевантаження оператора привласнення>::=

<позначка класу>& operator = (<пар. const>)

{<тіло перевантаженого оператора>}

<пар. const>::= const <позначка класу> & <ідентифікатор>

<тіло перевантаженого оператора>::= <тіло закритої підпрограми,

яке закінчується оператором return *this; >

 

Методичні рекомендації

Пам’ятайте, що якщо при використанні бінарної операції або оператора з об’єктом вашого класу тип першого операнда не збігається з типом вашого класу, то опис перевантаження такої операції або оператора необхідно робити як дружню функцію. У цьому випадку обидва операнди передаються в списку параметрів.

Якщо перевантаження унарної операції описується як метод класу, то в нього відсутній список параметрів, тому що єдиний операнд цієї операції є неявним аргументом (*this).




Варіанти завдань.

№ варіанту

Клас

Перевантажувані операції

 

№ варіанту

Клас

Перевантажувані операції

англійських мір довжин

-=,*, >

 

англійських мір довжин

<, *=, /

англійських мір ваги (фунти, унції)

+,*=,>

 

англійських мір ваги (фунти, унції)

-,+=,= =

комплексних чисел

+,= =,-=

 

комплексних чисел

-, <, +=

вектор

+, скалярний добуток

 

вектор

-, скалярний добуток

правильні дроби

+, *=, >

 

правильні дроби

-, +=,<

англійських мір довжин

/=, -, <

 

англійських мір довжин

>, -=,*

англійських мір ваги (фунти, унції)

*,+=,>

 

англійських мір ваги (фунти, унції)

-,*=, <,

комплексних чисел

-, *=, <

 

комплексних чисел

+, /=, >

вектор

добуток на число, скалярний добуток

 

правильні дроби

+, /=, >

правильні дроби

-, +=, >

 

правильні дроби

+, *=, = =

англійських мір довжин

- -, *=, <

 

англійських мір довжин

++, -=, >,

англійських мір ваги (фунти, унції)

++, -=, >,

 

англійських мір ваги (фунти, унції)

- -, *=, <

комплексних чисел

+,>,*=

 

комплексних чисел

-, <, *=

правильні дроби

/, -=, >

 

правильні дроби

*, +=, = =

правильні дроби

+, /=, = =

 

правильні дроби

-, /=, <

 


Дата добавления: 2015-09-29; просмотров: 22 | Нарушение авторских прав




<== предыдущая лекция | следующая лекция ==>
Тема: Розрахунок і побудова механічної характеристики електропривода та визначення часу його пуску. | У церковній літературі склалося досить стійка думка про те , що діячі гнаних Церков - неодмінно явні мученики , сповідники , репресовані священнослужителі та миряни , прославлені і чи невідомі

mybiblioteka.su - 2015-2024 год. (0.013 сек.)