You are on page 1of 5

НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ БІОРЕСУРСІВ І

ПРИРОДОКОРИСТУВАННЯ УКРАЇНИ
Факультет інформаційних технологій
Кафедра комп’ютерних наук

Об’єктно орієнтоване програмування


Лабораторна робота №4
Варіант індивідуального завдання-17

Виконав(ла)
студент(ка) групи КН-19002б
Студіград Ілля Вадимович

КИЇВ 2020
Лабораторна робота №4

Завдання. Створити клас, конструктор якого генерує динамічний масив чисел


(див. варіанти) Розмір масиву задається параметром конструктора.
Деструктор звільняє пам’ять, що виділена під масив. Створити функцію,
параметром якої є створений клас. Функція виконує дії над масивом певного
типу відповідно варіанту.

КИЇВ 2020
Код програми
#include <iostream>
#include <string>
using namespace std;
class MyClass{
int Size;
int *data;
int size1;
public:
friend int Func (MyClass &a1,int b);
MyClass(int size){
this->Size = size;
this->size1 = size;
this->data = new int [size];
for(int i =0;i<size;i++){
data[i]=i;
}
cout <<"Constructor "<<this<<endl;
}

MyClass(const MyClass &other)


{
cout <<"Constructor of copy "<<this<<endl;
this->data=new int [other.Size];
for(int i =0;i<other.Size;i++){
this->data[i]=other.data[i];
cout<<data[i]<<" ";

}
cout<<endl;
}

~MyClass(){

КИЇВ 2020
cout<<"Destructor "<<this<<endl;
delete[] data;
}
};
int Func (MyClass &a1,int b){
cout <<"Fucntion :"<<endl;

int a=0;
for (int i =0;i<b;i++){
if(a1.data[i]%2==0){
a1.data[i]=i + 5;
}
else{
a1.data[i]=i - 2;
a++;
}
cout<<a1.data[i]<<" ";
}
cout<<endl;
cout << "Kilkist neparnih elementiv = "<<a<<endl;
}
int main()
{
int b;
cin>>b;
MyClass a(b);
MyClass b1(a);
Func(b1,b);
return 0;
}

КИЇВ 2020
Скріншоти програми

КИЇВ 2020

You might also like