Documente Academic
Documente Profesional
Documente Cultură
FCIM
Catedra Calculatoare
RAPORT
la lucrarea de laborator nr. 6
la programarea in limbajul C++
A efectuat:
A verificat:
Chiinu 2016
Scopul lucrrii:
Familiarizarea studenilor cu clase i funcii generice..
Sarcina:
13. S se scrie un program care implimenteaz o clas generic pentru o stiv.
Codul Programului:
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
template<typename T> class Stiva{
public:
Stiva() {
varf = NULL;
count = 0;
}
~Stiva();
int size() const { return count; }
bool isEmpty() const { return varf == nullptr; }
const T& top() const {
if (isEmpty()) cout<< "Eroare! Stiva este Vida!";
return varf->data;
}
void push(const T& ob);
void pop();
private:
struct Element{
T data;
Element * below;
};
Element * varf;
int count;
};
template<typename T> void Stiva<T>::push(const T& ob){
if (isEmpty()) {
varf = new Element;
varf->data = ob;
varf->below = NULL;
count = 1;
}
else{
Element * p = new Element;
p->data = ob;
p->below = varf;
varf = p;
++count;
}
}
template<typename T> void Stiva<T>::pop(){
1
Rezultatele Testrii:
Concluzie:
n urma realizrii lucrrii respective de laborator am nvat utilizarea calselor
template(generice) i ne-am convins despre rolul lor foarte important n programare i anume
2
c template-urile snt foarte utile pentru realizarea de biblioteci care trebuie s ofere metode
generice de prelucrare a datelor fiindc Conceptul de template permite realizarea unei clase
generale care s accepte orice tip de element, inclusiv tipuri necunoscute la momentul
implementrii acesteia.