RAPORT
Lucrarea de laborator Nr.3
Varianta:8
Tema:” Supraincarcarea funcțiilor și a operatorilor, funcții prietene.”
2019
Scopul lucrării:
Sarcina Lucrarii:
a. Să se creeze clasa Stack – stivă, utilizînd memoria dinamică. Să se definească operatorul
ca metode ale clasei: "+" – de adunare a două stive, Să se definească operatorul de
comparare: "!=" comparare a două stive, ca funcţie prietenă. Clasa trebuie să fie absolut
funcţională, adică să conţină toţi constructorii necesari şi destructorul. Realizați
supaăncărcarea funcției realizînd operații saupra datelor din clasă.
a) Codul Programului:
#include <iostream>
#include <time.h>
#include <stdio.h>
struct node {
int data;
node *next;
};
class Stack {
private:
node *top;
public:
Stack();
~Stack();
void pop();
void disp();
bool isEmpty();
};
Stack::Stack(){
}
Stack::~Stack() {
while(top != nullptr)
top = top->next;
delete temp;
return Stack();
if (bTemp->data == aTemp->data) {
bTemp = bTemp->next;
aTemp = aTemp->next;
} else {
checker = false;
break;
if (checker == true)
return false;
else
return true;
node *temp;
temp->data = data;
temp->next = top;
top = temp;
void Stack::pop() {
if(top != nullptr)
top = top->next;
delete temp;
else
void Stack::disp() {
while(temp != nullptr)
temp = temp->next;
}
bool Stack::isEmpty() {
int main() {
time_t t;
srand((unsigned) time(&t));
list1.push(rand()%100-10);
list2.push(rand()%100-10);
// list1.push(i);
// list2.push(i);
list1.disp();
list2.disp();
list1.disp();
return 0;
Rezultatul Programului:
Concluzie:
In rezultatul elaborarii lucrarii date s-a pus baza aplicarii in practica a cunostintelor teoretice
referitoare la utilizarea operatorilor.
Astfel se poate judeca despre posibilitatile largi acordate de limbajul C++ referitor la
manipularea memoriei in directia dorita de utilizator.