Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ekzamen_OPAM_vidpovidi_teoretichni.doc
Скачиваний:
4
Добавлен:
22.09.2019
Размер:
214.53 Кб
Скачать
  1. Коментарії

Коментарій – це текст, який ігнорується при компіляції (інтерпретації)

В мові С є два типи коментаріїв:

- однорядковий;

- багаторядковий.

Однорядковий коментарій створюється за допомогою символів //. Наприклад

int a=5; // a++;

printf("a = %i",a);

На екран буде виведено 5, оскільки текст a++ - коментарій.

Багаторядковий коментар створюється за допомогою комбінації символів /*…*/.

  1. Вказівник this

Ім'я this є службовим (ключовим) словом. Явно описати чи визначити вказівник thisне можна. Відповідно до неявного визначення this є константним вказівником, тобто змінювати його не можна, однак у кожної приналежної класу функції він указує саме на той об'єкт, для якого функція викликається. Говорять, що вказівникthis є додатковим (схованим) параметром кожної нестатичної компонентної функції. Іншими словами, при вході в тіло приналежній класу функції вказівник thisініціалізується значенням адреси того об'єкта, для якого викликана функція. 

  1. Перевантаження функцій

Припустимо, нам потрібно знайти максимальне з двох заданих чисел. Виникає питання, про який тип чисел

мова йде: int, short, long, unsigned int, float чи double? Хоча в кожнім з цих випадків порівняння

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

функцій і викликати їх у залежності від типу аргументів. У мові С++ є можливість уникнути цієї незручності —

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

що мають різні чи типи різна кількість аргументів. Це явище іноді називають найпростішою формою

поліморфізму.

  1. Перевантаження конструкторів

Конструктор – це опис, як створювати значення даного типу, тобто об'єкт

даного класу. Програміст може перевизначати зміст конструктора при створенні

об'єктів заданого класу.

С++ дозволяє визначати декілька конструкторів з тим самим ім'ям, але з різ-

ним набором аргументів. Це називається перевантаженням конструкторів.

Щоб перевантажити конструктор класу, досить оголосити його у всіх потрібних

форматах і визначити для кожного формату свій конструктор. Вибір того або

іншого конструктора для створення об'єкта виконується за набором або за типом

аргументів.

  1. Стандартні значення параметрів функцій

У C++ можна задавати параметрам функцій значення за замовчуванням. У такому випадку при виклику функції можуть бути вказані значення тільки деяких параметрів, тоді як іншим вони будуть призначені автоматично.

  1. Перевантаження унарних операторів

До унарних операцій в мовах програмування зазвичай відносять такі як інкремент та декремент, тобто операції, які виконуються шляхом використання всього одного операнда (однієї змінної). Це відповідно операції збільшення і зменшення поточного значення змінної на певну фіксовану величину. Приклад використання часто можна зустріти в циклах типу for:

for(int i = 0; i<5; i++)

i++  це операція інкременту, тобто збільшення на 1.

for(int i = 5; i>0; i--)

i--  це операція декременту, тобто зменшення на 1.

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

class Person {

public:

void operator ++()

{

Age++;

}

protected:

int Age;

};

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