Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
1
Добавлен:
27.01.2024
Размер:
35.04 Кб
Скачать

Варіант 6

Лабораторна робота 9

Тема роботи: Дружні елементи класів

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

2. Скласти програму, в якій реалізувати роботу з відповідними об’єктами.

Код програми:

#include <iostream>

using namespace std;

class Vektor

{

float Ax, Ay, Bx, By;

float lx, ly;

public:

Vektor(float Ax, float Ay, float Bx, float By)

{

this->Ax = Ax;

this->Ay = Ay;

this->Bx = Bx;

this->By = By;

}

void Calculation()

{

lx = Bx - Ax;

ly = By - Ay;

}

friend void Proverka(Vektor object1, Vektor object2);

};

void Proverka(Vektor object1, Vektor object2)

{

if (object1.lx / object2.lx == object1.ly / object2.ly)

{

cout << "Векторы коллинеарные." << endl;

}

else

{

cout << "Векторы не коллинеарные." << endl;

}

}

int main()

{

float Ax, Ay, Bx, By;

setlocale(LC_ALL, "Russian");

cout << "Точки для первого вектора: " << endl << endl;

cout << "Введите координату x первой точки: ";

cin >> Ax;

cout << "Введите координату y первой точки: ";

cin >> Ay;

cout << "Введите координату x второй точки: ";

cin >> Bx;

cout << "Введите координату y второй точки: ";

cin >> By;

cout << endl;

Vektor vek1(Ax, Ay, Bx, By);

vek1.Calculation();

cout << "Точки для второго вектора: " << endl << endl;

cout << "Введите координату x первой точки: ";

cin >> Ax;

cout << "Введите координату y первой точки: ";

cin >> Ay;

cout << "Введите координату x второй точки: ";

cin >> Bx;

cout << "Введите координату y второй точки: ";

cin >> By;

cout << endl;

Vektor vek2(Ax, Ay, Bx, By);

vek2.Calculation();

Proverka(vek1, vek2);

}

Скріншот роботи програми:

Висновки:

На лабораторній роботі я закріпив свої навички роботи з класами.

Соседние файлы в папке еще какието лабки разных вариантов