Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
6_ПРАКТИЧНЕ ЗАНЯТТЯ №6 -Дружні оператор функції...doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
75.78 Кб
Скачать

Хід виконання роботи

1. Створити об’єкти , застосовуючи контруктор без парамернів та конструктор з параметрами.

class myclass {

int a, b;

public:

myclass(); // конструктор без парметрів

myclass(int x, int y); // конструктор з параметрами

void show();

};

myclass::myclass(int x, int y)

{

cout << "В конструкторе\n";

a = x;

b = y;

}

void myclass::show()

{

cout << a << ' ' << b << "\n";

}

int main()

{ myclass ob1;

myclass ob(4, 7);

ob.show(); ob1.show();

return 0;

}

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

ЗАВДАННЯ №1

Створити клас - "дата" з полями: день (1 - 31), місяць (1 - 12), рік (ціле число). Клас має конструктор, функції-члени установки дня, місяця і року, функції-члени повертання дня, місяця і року, а також дві функції-члени друку: друк по шаблону: "5 січня 1997 року" і "05.01.1997". Функції-члени установки полів класу повинні перевіряти коректність параметрів, що задаютьс

ЗАВДАННЯ № 2

Дан класс Date. Создать два конструктора Date( ). В первом случае данные задаются в виде строки символов, в другом — в виде трех целых.

Класс містить функції, виведення даних на екран,

Створити два об’єкта, які будуть ініціалізуватись відповідними конструкторами.

ЗАВДАННЯ № 3

Створити клас stack, який реалізує стек, який можна використовувати для зберігання символів. Створити два об'єкти s1 і s2 (s2 створюється шляхом привласнення s1). Символи реально розміщуються лише стек s1, але після виконання присвоювання об'єкт s2 також містить символи , які знаходяться в об'єкт s1. Створити конструктори і деструктори

ЗАВДАННЯ № 4

Дан класс Rectangle. Створити конструктор без параметрів, як буду ініціалізувати закриті члені-дані нулями, конструктор ініціалізації, конструктор копіювання, деструктор. Класс містить функції знаходження периметра, площі , виведення даних на екран,

Створити два об’єкта, які будуть ініціалізуватись відповідними конструкторами.

ЗАВДАННЯ № 5

Створити простий клас для рядків strtype, котрий містить сам рядок і її довжину. Коли створюється об'єкт strtype, для зберігання рядка виділяється пам'ять, і початкова довжина рядка встановлюється рівною нулю. Коли об'єкт strtype видаляється, ця пам'ять звільняється.

Створити конструктори ініціалізації, копіювання, деструктор

Створити два об’єкта, які будуть ініціалізуватись відповідними конструкторами.

ЗАВДАННЯ № 6

Створити клас Array (Динамічний масив).У класі передбачити можливість добавлення нових елементів масиву при перевищенні розмірності масиву.

Клас містить конструктор ініціалізації ( розмірність задається з клавіатури), деструктор, функцію виведення елементів масиву.

Створити об’єкт Ar1 даного класу. Ооб’єкт ініціалізується конструктором ініціалізації. Вивести два об’єкта на екран з коментарями.

ЗАВДАННЯ № 7

Створити клас DinMas (Динамічний масив). Закритими даними-членами є розмірність масиву та вказівник на масив. Відкритими функціями-членами є : конструктор без параметрів ( ініціалізує масив із шести елементів), конструктор ініціалізації ( розмірність задається з клавіатури)деструктор, функцію виведення елементів масиву.

Створити два об’єкта Ar1 , Ar2 даного класу. Перший об’єкт ініціалізується конструктором без параметрів, другий – конструктором ініціалізації. Вивести два об’єкта на екран з коментарями.

ЗАВДАННЯ № 8

Створити клас "Vector", що містить покажчик на int, число елементів і змінну стану. Визначити конструктор без параметрів, конструктор з одним параметром, конструктор із двома параметрами. Конструктор без параметрів виділяє місце для одного елемента та ініціалізує його в нуль. Конструктор з одним параметром (розмір вектора) виділяє місце та ініціалізує нулями, конструктор із двома параметрами виділяє місце (перший аргумент) та ініціалізує другим аргументом. Деструктор звільняє пам'ять. Визначити функцію, яка присвоює елементу масиву деяке значення (параметр за замовчуванням), функцію яка повертає деякий елемент масиву. У змінну стану встановлювати код помилки, якщо не вистачає пам'яті або відбувається вихід за межі масиву. Визначити функцію друку

ЗАВДАННЯ № 9

Створити клас DinMas (Динамічний масив).У класі передбачити можливість добавлення нових елементів масиву при перевищенні розмірності масиву.

Клас повинен містити конструктор без параметрів ( ініціалізує масив із п’яти елементів), конструктор ініціалізації ( розмірність задається з клавіатури), конструктор копіювання, деструктор, функцію виведення елементів масиву.

Також у класі визначити:

  • функцію, яка повертає кількість від’ємних елементів;

  • функцію, яка сортовує масив по-зростанню;

  • функцію, яка кожний елемент масиву множить на число типу int;

Створити два об’єкта Ar1 , Ar2 даного класу. Перший об’єкт ініціалізується конструктором без параметрів, другий – конструктором ініціалізації. Вивести два об’єкта на екран з коментарями.

Знайти кількість від’ємних елементі, відсортовати масив по-зростанню, кожний елемент масиву помножить на число чотири;

Створити об’єкт Ar3 на основі об’єкта Ar2 даного класу.

Результати вивести на екран.

ЗАВДАННЯ № 10

Створити клас - "дата" з полями: день (1 - 31), місяць (1 - 12), рік (ціле число). Клас має конструктор, функції-члени установки дня, місяця і року, функції-члени повертання дня, місяця і року, а також дві функції-члени друку: друк по шаблону: "5 січня 1997 року" і "05.01.1997". Функції-члени установки полів класу повинні перевіряти коректність параметрів, що задаютьс