НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ БІОРЕСУРСІВ І
ПРИРОДОКОРИСТУВАННЯ УКРАЇНИ
Факультет інформаційних технологій
Кафедра комп`ютерних наук
Об’єктно-орієнтовне програмування
Лабораторна робота 1
Класи і об’єкти в С++
Варінат 16
Виконав:
Студент
КН-22003б
Масло Сергій Вячеславович
В цій лабораторні потрібно створити клас «квадрат», у якому:
1) екземпляр містить розмір сторони квадрата.
2) конструктор без параметра створює екземпляр зі значенням 0, а конструктор з параметрами створює екземпляр з відповідним значенням сторони.
3) методи дозволяють отримувати і присвоювати значення сторони і обчислювати значення площі.
d) функція print_sqr () виводить на екран значення його сторони і площі.
У самій програмі було створено клас „square“, у якому було користувам доступно такі функції: функції для запису та зчитування даних, функція для розрахування площи квадрата.
Нижче наведено приклад реалізації конструкторів і деконструкторів
Фрагмент програми, що показує на використання покажчика на об’єки:
square group[3] = {square(3),
square(5),
square(10)
};
square *ptrSquare = new square[3];
ptrSquare ->set(3);
(ptrSquare + 1) -> set(5);
(ptrSquare + 2) -> set(10);
На функцію:
void (square::*ptrFunction)();
ptrFunction = &square::print_sqr;
(ptrSquare[1].*ptrFunction)();
delete [] ptrSquare;
Лістинг основної програми:
#include
using namespace std;
class square {
int side;
int squareArea;
public:
square();
square(int s);
~square();
int squareAreaCalculation() ;
void print_sqr();
void set(int SIDE);
};
square::square(){
side = 0;
squareArea = 0;
cout << "A constructor without parameters is called for an object " <}
square::square(int s){
side = s;
squareArea = s * s;
cout << "A constructor with parameters is called for an object " <}
square::~square(){
cout << "Destructor called for an object" <}
int square::squareAreaCalculation(){
squareArea = side*side;
return 0;
}
void square::print_sqr(){
cout << "The square area from side length " << side << " is " << squareArea << "\n";
}
void square::set(int SIDE){
side = SIDE;
squareArea = SIDE * SIDE;
}
int main() {
square group[3] = {square(3),
square(5),
square(10)
};
square *ptrSquare = new square[3];
ptrSquare ->set(3);
(ptrSquare + 1) -> set(5);
(ptrSquare + 2) -> set(10);
void (square::*ptrFunction)();
ptrFunction = &square::print_sqr;
(ptrSquare[1].*ptrFunction)();
delete [] ptrSquare;
}
Достарыңызбен бөлісу: |