Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ
ТЕРНОПІЛЬСЬКИЙ НАЦІОНАЛЬНИЙ ЕКОНОМІЧНИЙ УНІВЕРСИТЕТ
ФАКУЛЬТЕТ КОМП’ЮТЕРНИХ ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ
КАФЕДРА КОМП’ЮТЕРНИХ НАУК
Лабораторна робота №1
з дисципліни
«Об’єктно-орієнтоване програмування»
ТЕМА. Класи і об'єкти в С++
МЕТА. Отримати практичні навички реалізації класів на С++.
ОСНОВНИЙ ЗМІСТ РОБОТИ.
Написати програму, в якій створюються і знищуються об'єкти класу, визначеного користувачем. Виконати дослідження викликів конструкторів і деструкторів.
ПОРЯДОК ВИКОНАННЯ РОБОТИ.
1. Визначити призначений для користувача клас відповідно до варіанту завдання.
2. Визначити в класі наступні конструктори: без параметрів, з параметрами, копіювання.
3. Визначити в класі деструктор.
4. Визначити в класі компоненти-функції для перегляду і задання полів даних.
5. Визначити вказівник на компоненту-функцію.
6. Визначити вказівник на екземпляр класу.
7. Написати демонстраційну програму, в якій створюються і знищуються об'єкти призначеного для користувача класу і кожен виклик конструктора і деструкції супроводжується видачею відповідного повідомлення (який об'єкт який конструктор або деструктор викликаний).
8. Показати в програмі використання вказівника на об'єкт і вказівника на компоненту-функцію.
Варіант 2.
2. Виріб
Назва виробу – char*
Код – char*
Кількість – int
Діаграма класу за UML-нотацією або нотацією Г. Буча:
/
Визначення класу (Product.h)
class product {
char* name;
char* code;
int kil;
public:
product();
product(char*,char*,int);
product(const product&);
~product();
void Set(char* name_,char* code_,int kil_);
void Show();
};
Реалізація класу (Product.cpp)
#include "product.h"
#include <iostream>
using namespace std;
product::product()
{
name="";
code="";
kil=0;
cout<<"konstruktor bez parametriv"<<"\n";
}
product::product (char* name_,char* code_,int kil_)
{
name=name_;
code=code_;
kil=kil_;
cout<<"konstruktor z parametramy."<<"\n";
}
product::product(const product& p1)
{
name=p1.name;
code=p1.code;
kil=p1.kil;
cout<<"konstruktor kopiyvania."<<"\n";
}
product::~product()
{
cout<<"robota destruktora"<<"\n";
}
void product::Set(char* name_,char* code_,int kil_)
{
name=name_;
code=code_;
kil=kil_;
cout<<"Set"<<"\n";
}
void product::Show()
{
cout<<"Name - "<<name<<"\n";
cout<<"Code - "<<code<<"\n";
cout<<"Kilkist - "<<kil<<"\n";
}
Лістинг демонстраційної програми, в якій створюються і знищуються об'єкти призначеного для користувача класу і кожен виклик конструктора і деструктора супроводжується видачею відповідного повідомлення. (main.cpp)
#include <product.h>
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
char name[20], code[20];
int kil;
cout<<"\n Stvorenia obekta klasu Product - p1"<<"\n";
product p1;
cout<<"\n Stvorenia obekta klasu Product - p2"<<"\n";
product p2("Vikno","#12345",4);
p2.Show();
cout<<"\n Stvorenia obekta klasu Product - p3 {kopiyvania p2}"<<"\n";
product p3(p2);
cout<<"Peregliad danyh p3"<<"\n";
p3.Show();
cout<<"\n Redagyvania danyh p1"<<"\n";
cout<<"Vvedit name - "; cin>>name;
cout<<"Vvedit code - "; cin>>code;
cout<<"Vvedit kil - "; cin>>kil;
p1.Set(name,code,kil);
cout<<"\n Peregliad danyh p1"<<"\n";
p1.Show();
cout<<"\n Stvorenia dynamichnogo obekta p4"<<"\n";
product *p4;
p4 = new product("Dveri","#56789",12);
if (!p4){ cout<<"Error!!!"<<"\n";
return 1; }
p4->Show();
cout<<"\n Vydalenia dynamichnogo p4"<<"\n";
delete p4;
cout<<"\n Vykorystania vkazivnyka na komponentu-funktsiy"<<"\n";
cout<<"peregliad danyh p3"<<"\n";
void (product::*fp)();
fp=&product::Show;
(p3.*fp)();
getch();
return 0;
}
Результат виконання програми
/
Висновок. Під час виконання даної лабораторної роботи я ознайомився з класами та об‘єктами С++, навчився створювати і знищувати об'єкти класу, визначеного користувачем. Виконав дослідження викликів конструкторів і деструкторів.