You are on page 1of 6

МІЖРЕГІОНАЛЬНА

АКАДЕМІЯ УПРАВЛІННЯ ПЕРСОНАЛОМ

Факультет комп’ютерно-інформаційних технологій

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

“Складання програм з використанням полів і методів класів.”

з дисципліни: «Об'єктно-орієнтоване програмування»

Студент:

Група:

Викладач: Тінькова Ю.О.

2023
1. Створіть клас "Студент", який має приватні поля: ім'я, вік, група.
Додайте методи для задання та отримання даних, а також метод для
виведення інформації про студента на екран.
Розв’язання:
Створимо клас Student, з полями

name – рядковий тип даних;


age – цілочисельний тип даних;
group – рядковий тип даних;

Клас буде містити наступні методи:

set_name – встановлення імені студента. Метод не повертає жодного


значення.
set_age – встановлення віку студента. Метод не повертає жодного
значення.
set_group – встановлення групи студента. Метод не повертає жодного
значення.
get_name – отримання імені студента. Метод повертає значення типу
string.
get_age – отримання віку студента. Метод повертає значення типу int.
get_group – отримання групи студента. Метод повертає значення типу
string.
student_info – виведення інформації про студента на екран. Метод не
повертає жодного значення.

Код реалізації класу:


#include <iostream>
#include <string>
using namespace std;

class Student {
private:
string name;
int age;
string group;

public:
Student(string n, int a, string g) : name(n), age(a), group(g) {} // конструктор
класу

void set_name(string n) {
name = n;
}

string get_name() const {


return name;
}
void set_age(int a) {
age = a;
}

int get_age() const {


return age;
}

void set_group(string g) {
group = g;
}

string get_group() const {


return group;
}

void student_info() const {


cout << "Name: " << name << ", Age: " << age << ", Group: " << group << endl;
}
};

Розглянемо приклад використання. Створимо екземпляр класу з


параметрами name = “Petro”, age = 20, group = “M1” та виведемо
інформацію про нього:
int main() {
Student student("Petro", 20, "M1");
student.student_info();

return 0;
}

Скріншот виконання:

Змінимо код, змінивши ім’я, вік та групу даного екземпляру класу,


виведемо інформацію про нього, а також отримаємо тільки ім’я
екземпляру класу:
int main() {
Student student("Petro", 20, "M1");
student.student_info();
student.set_age(24);
student.set_group ("m2");
student.set_name("Ivan");
student.student_info();
cout << student.get_name() << endl;

return 0;
}

Скріншот виконання:

2. Створіть клас "Книга" із полями: назва, автор, рік видання.


Реалізуйте методи для задання даних книги, її виведення на екран та
метод, який перевіряє, чи книга видана більше 10 років тому.
Розв’язання:
Створимо клас Book, з полями

title – рядковий тип даних;


year – цілочисельний тип даних;
author – рядковий тип даних;

Клас буде містити наступні методи:

set_title – встановлення назви книги. Метод не повертає жодного


значення.
set_author – встановлення автора книги. Метод не повертає жодного
значення.
set_year – встановлення року видання книги. Метод не повертає
жодного значення.
book_info – виведення інформації про книгу на екран. Метод не
повертає жодного значення.
is_pub_10_y_ago – метод що перевіряє чи видана книга більше, ніж 10
років тому. Метод порівнює рік видання книги з поточним роком та
виводить відповідне повідомлення. Повертає True, якщо різниця між
поточним роком та роком видання книги більша, ніж 10 років та False в
іншому випадку.

Код реалізації класу:


#include <iostream>
#include <string>
#include <windows.h>// використаємо цю бібліотеку для отримання поточного року

using namespace std;

class Book {
private:
string title;
string author;
int year;

public:
// Конструктор класу
Book(string t, string a, int y) : title(t), author(a), year(y) {}

// Метод для встановлення назви книги


void set_title(string t) {
title = t;
}
// Метод для встановлення автора книги
void set_author(string a) {
author = a;
}
// Метод для встановлення року видання книги
void set_year(int y) {
year = y;
}

// Метод для виведення даних книги на екран


void book_info() {
cout << "Title: " << title << endl;
cout << "Author: " << author << endl;
cout << "The year of publishing: " << year << endl;
}

// Метод, що перевіряє, чи книга видана більше 10 років тому


bool is_pub_10_y_ago() {
SYSTEMTIME t;
GetLocalTime(&t);
int yearNow;
yearNow = t.wYear; // отримуємо поточний рік
bool more_10_y;
more_10_y = (yearNow - year) > 10; //перевіряємо чи пройшло 10 років з моменту
видання книги
if (more_10_y) {
cout << "Book is published more then 10 years ago" << endl;
}
else {
cout << "Book is not published more then 10 years ago" << endl;
}
return more_10_y;
}
};

You might also like