Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Oop4.pdf
Скачиваний:
10
Добавлен:
02.02.2015
Размер:
202.37 Кб
Скачать

 

Зміст

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

2

Термінологія................................................................................................................

2

Типові конструкції мови............................................................................................

2

Перевизначені методи................................................................................................

2

Перевизначені оператори...........................................................................................

3

Завдання на лабораторну роботу...............................................................................

3

Індивідуальне завдання..............................................................................................

3

Література....................................................................................................................

5

Тема. Перевизначення операторів та методів.

Мета: отримати базові навики по використанню перевизначених операторів та методів.

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

Оператор — спеціальна конструкція мови, виклик якої відбувається із використанням математичного синтаксису

Перевизначені методи — це методи, із однаковою назвою, але різними параметрами.

Типові конструкції мови

Перевизначені методи

Дуже часто буває, що програмісту потрібно реалізувати подібні операції по смислу, але із різними вхідними параметрами. Наприклад, потрібно вивести на екран дані різних об’єктів. У такому разі приходиться іменувати методи нижче приведеним чином. Така методика не добавляє зрозумілості коду, а

лише ускладнює роботу програміста.

CTestConsole::OutputSmsObject1( smsMessage ); CTestConsole::OutputSmsObject2( smsMessage ); CTestConsole::OutputSmsObject3( &smsMessage );

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

Оголошення двох перевизначених методів може мати наступний вигляд:

class CTestConsole

{

public:

CTestConsole(CSmsMessage& aSmsMessage); ~CTestConsole(void);

public:

static void OutputSmsObject(const CSmsMessage aSmsMessage); static void OutputSmsObject (const CSmsMessage* aSmsMessage);

//!!! наступне перевизначення некоректне

static void OutputSmsObject2(const CSmsMessage& aSmsMessage);

};

Метод OutputSmsObject2 не може бути перевизначений таким же чином, оскільки компілятор не зможе знайти різницю між ним і першим оголошенням при виклику. Тому при оголошенні буде помилка.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]