Sunteți pe pagina 1din 3

Ministerul Educaţiei, Culturii și Cercetării al Republicii Moldova

Universitatea Tehnică a Moldovei


Departamentul Informatică și Ingineria Sistemelor

Disciplina: POO

RAPORT
Lucrarea de laborator nr. 6
Tema: Funcţii virtuale

Varianta 11

A efectuat:
st. gr. CR-212 Baltean Sergiu

A verificat: Osovschi M.

Chişinău – 2022
Scopul lucrării:
 Studierea polimorfismului;
 Studierea principiilor legăturii întîrziate;
 Studierea funcţiilor virtuale;
 Polimorfismul ad-hoc;
 Realizarea funcţiilor virtuale;
 Studierea claselor abstracte.

Codul programului 1 :
#include <iostream>
#include <math.h>
using namespace std;
class Root
{
public:
virtual ~Root() = default;
virtual void getroot() = 0;
};
class Linear : public Root
{
private:
double first;
double second;
public:
Linear(double f, double s) : first(f), second(s)
{
}
void getroot()
{
double x3;
x3= (first&&second) ? -second / first : 0;
cout << x3 << endl;
}

};
class Square : public Root
{
private:
double a;
double b;
double c;
public:
Square(double A,double B,double C) : a(A),b(B),c(C)
{
}
void getroot()
{
double x1, x2, d;
if (a == 0.0) {
cout << "Not root equation !\n";
}

d = b * b - 4 * a*c;
cout << "d=" << d << "\n";
if (d > 0) {
x1 = (-b + sqrt(d)) / (2 * a);
x2 = (-b - sqrt(d)) / (2 * a);
cout << x1 << x2<<endl;
}
else if (d == 0.0) {
x1 = (-b / (2 * a)); x2 = x1;
cout<< x1;
}
else {

2
cout << "equation roots not found\n";
}
}
};

int main()
{
Linear line(5, -5);
Square squa(2, -2, -4);
line.getroot();
squa.getroot();
system("pause");
return 0;
}

Concluzie:

În cadrul lucrării de laborator am aflat despre polimorfism și principiile de lucru cu acesta.


Am implementat funcții virtuale. Pe lângă toate astea am mai studiat clasele abstracte și
polimorfismul ad-hoc.

S-ar putea să vă placă și