лабки / еще какието лабки разных вариантов / Лаб.раб №9_С
.docxВаріант 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);
}
Скріншот роботи програми:
Висновки:
На лабораторній роботі я закріпив свої навички роботи з класами.