Частина тексту файла (без зображень, графіків і формул):
Міністерство науки і освіти України
Національний університет “Львівська політехніка”
Інститут комп’ютерних наук та інформаційних технологій
кафедра програмного забезпечення
Звіт з лабораторної роботи №3
з дисципліни “Об’єктно-орієнтоване програмування ”
Лабораторна робота № 3
"Використання класових типів та управління доступом до членів классу ( методи та параметри)"
Завдання
Розробити ієрархію класів згідно отриманого завдання (таблиця 1) та описати їх алгоритмічною мовою С++. Використати абстрактні класи і віртуальні функції. Написати фрагмент програми з використанням об’єктів створених класових типів.
Зміст завдання
Реалізувати клас для забезпечення роботи з масивами.
Ініціалізація масиву.
Сортування масиву з параметром спадання/зростання.
Визначення довжини масиву.
Доступ до окремих елементів масиву.
Доступ до цілого масиву (повернення вказівника на масив).
Текст програми
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include<dstring.h>
#include "Unit1.h"
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
masyv *pMasyv;
TForm1 *Form1;
int *pM;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
pMasyv = new masyv(Edit1 -> Text.ToInt());
Edit1 -> Enabled = false;
Button3 -> Enabled = false;
}
//---------------------------------------------------------------------------
int i = 0;
void __fastcall TForm1::Button4Click(TObject *Sender)
{
pMasyv -> SetMas(Edit4 -> Text.ToInt(), i);
i++;
if(i >= pMasyv -> GetLenght())
{
Edit4 -> Enabled = false;
Button4 -> Enabled = false;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button7Click(TObject *Sender)
{
if((Edit3 -> Text.ToInt()-1) >= pMasyv -> GetLenght())
Edit2 -> Text = "Error!";
else
{
Edit2 -> Text = pMasyv -> GetMas(Edit3 -> Text.ToInt()-1);
Edit3 -> Enabled = false;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button8Click(TObject *Sender)
{
pMasyv -> SetMas(Edit2 -> Text.ToInt(), Edit3 -> Text.ToInt()-1);
Edit3 -> Enabled = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button9Click(TObject *Sender)
{
int i;
pM = pMasyv -> GetPointer();
StringGrid1 -> ColCount = pMasyv -> GetLenght();
for(i = 0;i < pMasyv -> GetLenght();i++)
StringGrid1 -> Cells[i][0] = pM[i];
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button10Click(TObject *Sender)
{
int i;
for(i = 0;i < pMasyv -> GetLenght();i++)
pM[i] = StringGrid1 -> Cells[i][0].ToInt();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button6Click(TObject *Sender)
{
if (RadioButton1 -> Checked == true)
pMasyv -> SortMasZrost();
if (RadioButton2 -> Checked == true)
pMasyv -> SortMasSpad();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
pMasyv -> ~masyv();
delete pMasyv;
exit(1);
}
//---------------------------------------------------------------------------
Результат роботи програми
Висновок: Розробив ієрархію класів згідно отриманого завдання (таблиця 1) та описав їх алгоритмічною мовою С++. Використати абстрактні класи і віртуальні функції. Написав фрагмент програми з використанням об’єктів створених класових типів.