Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВСЕ ЛАБОРАТОРНІ І СЕМЕСТР.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
250.37 Кб
Скачать

Хід роботи

1. Створити клас за варіантом

    1. Телефонний довідник.

    2. Список групи.

    3. Ліки.

    4. Меблі.

    5. Нагрівачі.

    6. Квіти.

    7. Будівельні матеріали.

    8. Шпалери.

    9. Кава.

1.10 Чай.

1.11Лимонад.

1.12Сік.

Кожний екземпляр класу має містити закриту інформацію, Доступ до елементів класу буде через відповідні методи.

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

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

  1. Як описати масив об'єктів?

  2. Чи можливо створити багатовимірний масив об'єктів?

  3. Яким чином звертатися до елементів масиву?

Лабораторна робота №4

Тема: Створення похідних класів.

Мета: Ознайомитися з поняттям похідного класу и оголошенням конструкторів похідного класу та передачею параметрів класу. Дослідити спадкоємність класів. Спроектувати и написати програму, яка використовує ці поняття.

Література: Г.Шилдт,Самоучитель С++, С.В. Глушков, Практикум по С++.

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

Коли один клас успадковується іншим, використовується наступна основна форма запису:

class ім’я_похідного_класу: специфікатор_доступу ім’я_базового_класу {

// ...

}

Здесь : специфікатор_доступу — це одно з трьох ключових слів: public, private або protected.

Синтаксис передачі аргументів з похідного_класу в базовий клас:

конструктор_похідного_класу (список-арг) : базов_клас (список_арг) {

}

Хід роботи

1.Набрати програму і простежити в якому порядку виконуються конструктори і деструктори базового и похідного класів:

#include <iostream.h>

#include <string.h>

class employee

{ public:    employee(char *, char *, float);    void show_employee(void); private:    char name [ 64 ];    char position[64];    float salary; };

employee::employee(char *name, char *position,float salary)

{    strcpy(employee::name, name);    strcpy(employee::position, position);    employee::salary = salary; }

void employee::show_employee(void)

{    cout << "І’мя: " << name << endl;    cout << "Посада: " << position << endl;    cout << "Оклад: $" << salary << endl; }

class manager : public employee

{ public:    manager(char *, char *, char *, float, float, int);    void show_manager(void); private:    float annual_bonus;    char company_car[64];    int stock_options; };

manager::manager(char *name, char *position, char *company_car, float salary, float bonus, int stock_options) : employee(name, position, salary)

{    strcpy(manager::company_car, company_car) ;    manager::annual_bonus = bonus ;    manager::stock_options = stock_options; }

void manager::show_manager(void)

{    show_employee();    cout << "Машина фірмы: " << company_car << endl;    cout << "Щорічна премія: $" << annual_bonus << endl;    cout << "Фондовий опціон: " << stock_options << endl; }

void main(void)

{    employee worker("Джон Дой", "Програмист", 35000);    manager boss("Джейн Дой", "Вице-президент ", "Lexus", 50000.0, 5000, 1000);    worker.show_employee() ;    boss.show_manager(); }

2. Створити похідний клас для варіантів, що були запропоновані у третій лабораторній роботі. Похідній клас винен містити додатковій відкритій член-даний.