Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ
ТЕРНОПІЛЬСЬКИЙ НАЦІОНАЛЬНИЙ ЕКОНОМІЧНИЙ УНІВЕРСИТЕТ
ФАКУЛЬТЕТ КОМП’ЮТЕРНИХ ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ
КАФЕДРА КОМП’ЮТЕРНИХ НАУК
Лабораторна робота №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;
}
Результат виконання програми
/
Висновок. Під час виконання даної лабораторної роботи я ознайомився з класами та об‘єктами С++, навчився створювати і знищувати об'єкти класу, визначеного користувачем. Виконав дослідження викликів конструкторів і деструкторів.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!