Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ККР_ООП_502_2011_bilet.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
208.38 Кб
Скачать

Варіант № 1

  1. Визначити основні принципи ООП.

  2. Проаналізувати використання таких засобів форматного введення-виведення у С++, як: прапори формату, функції setf() і unsetf().

  3. Визначити у наведеному коді перевантаження оператора “+” для додавання двох об’єктів класу coord:

class coord {

int x,y;

public:

coord() { x = 0; y= 0; }

coord(int i, int j) { x = i; y = j; }

void get_xy(int &i, int &j) { i = x; j = y; }

// ... оголошення оператора-функції

};

//... визначення оператора-функції

void main() { //… оголошення об’єктів

// … додавання об’єктів - виклик

//оператора-функції

}

Варіант № 2

  1. Визначити принцип ООП — інкапсуляцію.

  2. Проаналізувати поняття віртуальної функції як одного із видів реалізації динамічного поліморфізму та визначити поняття поліморфного класу.

  3. Визначити у наведеному коді перевантаження оператора “-” для віднімання двох об’єктів класу coord:

class coord {

int x,y;

public:

coord() { x = 0; y= 0; }

coord(int i, int j) { x = i; y = j; }

void get_xy(int &i, int &j) { i = x; j = y; }

// ... оголошення оператора-функції

};

//... визначення оператора-функції

Void main() { //… оголошення об’єктів

// … віднімання об’єктів - виклик

//оператора-функції

}

Варіант № 3

  1. Визначити поняття класу і об’єкту в ООП.

  2. Проаналізувати поняття чисто віртуальної функції як одного із видів реалізації динамічного поліморфізму та визначити поняття абстрактного класу.

  3. Визначити у наведеному коді перевантаження оператора “*” для множення двох об’єктів класу coord:

class coord {

int x,y;

public:

coord() { x = 0; y= 0; }

coord(int i, int j) { x = i; y = j; }

void get_xy(int &i, int &j) { i = x; j = y; }

// ... оголошення оператора-функції

};

//... визначення оператора-функції

Void main() { //… оголошення об’єктів

// … множення об’єктів - виклик оператора-функції

}

Варіант № 4

  1. Проаналізувати відмінності відкритих (public) і закритих (private) членів класу в ООП.

  2. Проаналізувати процес оброблення виняткових ситуацій у мові С++, їх генерацію і перехоплення.

  3. Визначити у наведеному коді перевантаження оператора “/” для ділення двох об’єктів класу coord:

class coord {

int x,y;

public:

coord() { x = 0; y= 0; }

coord(int i, int j) { x = i; y = j; }

void get_xy(int &i, int &j) { i = x; j = y; }

// ... оголошення оператора-функції

};

//... визначення оператора-функції

Void main() { //… оголошення об’єктів

// … ділення об’єктів - виклик оператора-функції

}

Варіант № 5

  1. Визначити загальні форми (синтаксис) описання класу та його функцій-членів.

  2. Визначити поняття родового класу. Розкрийте особливості оголошення об’єктів такого класу.

  3. Визначити у наведеному коді перевантаження оператора “==” для двох об’єктів класу coord:

class coord {

int x,y;

public:

coord() { x = 0; y= 0; }

coord(int i, int j) { x = i; y = j; }

void get_xy(int &i, int &j) { i = x; j = y; }

// ... оголошення оператора-функції

};

//... визначення оператора-функції

Void main() { //… оголошення об’єктів

// … виклик оператора-функції

}

Варіант № 6

  1. Визначити поняття конструктора класу. Проаналізувати, коли і як викликаються конструктори?

  2. Визначити особливості використання стандартних маніпуляторів у С++.

  3. Визначити у наведеному коді перевантаження оператора “++” для об’єкта класу coord:

class coord {

int x,y;

public:

coord() { x = 0; y= 0; }

coord(int i, int j) { x = i; y = j; }

void get_xy(int &i, int &j) { i = x; j = y; }

// ... оголошення оператора-функції

};

//... визначення оператора-функції

Void main() { //… оголошення об’єктів

// … інкрементація об’єкта - виклик

//оператора-функції

}

Варіант № 7

  1. Визначити, що відбувається з відкритими (public), захищеними (protected) та закритими (private) членами базового класу, якщо базовий клас успадковується як відкритий (public) похідним?

  2. Проаналізувати особливості перевантаження бінарних операторів.

  3. Визначити, використовуючи принципи потокової системи введення-виведення інформації у С++: 1) створення вихідного файлу для запису; 2) занесення до файлу число 100 в десятковій та шістнадцятковій системах числення; 3) закриття файлу; 4) відкриття, але вже як вхідного файлу для зчитування; 5) зчитування інформації у змінні відповідних типів даних і виведіть її на екран.

Варіант № 8

  1. Визначити поняття деструктора класу. Проаналізувати, коли і як викликаються деструктори?

  2. Проаналізувати особливості використання аргументів за замовчуванням.

  3. Визначити у наведеному коді перевантаження оператора “&&” для двох об’єктів класу coord:

class coord {

int x,y;

public:

coord() { x = 0; y= 0; }

coord(int i, int j) { x = i; y = j; }

void get_xy(int &i, int &j) { i = x; j = y; }

// ... оголошення оператора-функції

};

//... визначення оператора-функції