Documente Academic
Documente Profesional
Documente Cultură
Laborar 7 Programare
Laborar 7 Programare
RAPORT
Lucrarea de laborator Nr.7
Varianta:8
Tema:” Şabloane”
2019
Scopul lucrării:
Studierea necesităţii şabloanelor;
Studierea regulilor de definire şi utilizare a şabloanelor;
Studierea specializării şabloanelor;
Studierea potenţialelor probleme rezolvate cu ajutorul şabloanelor;
Sarcina Lucrarii:
а) Creaţi o funcţie şablon, care modifică ordinea elementelor invers.
De exemplu: 1 2 3 4 5 6 - 6 5 4 3 2 1. Funcţia trebuie să lucreze cu masive de lungimi diferite.
b) Creaţi clasa parametrizată Tree – arbore binar. Clasa trebuie să conţină constructorii,
destructorii şi funcţiile add, in, funcţia de eludare a arborelului şi operatorii de intrare/ieşire.
Codul Programului:
#include <iostream>
#include <vector>
inversareMatrice<int>(array, 10);
for (int elem: array) {
std::cout<< elem << " ";
}
return 0;
}
Rezultatul Programului:
Codul Programului:
#include <iostream>
class Tree
struct node{
T value;
};
public:
Tree();
~Tree();
void printInOrder();
void printPostOrder();
template <class>
template <class>
private:
int treeSize;
};
Tree<T>::Tree(){
this->root = 0;
this->treeSize = 0;
Tree<T>::~Tree(){
deleteTree(this->root);
add(&(this->root), val);
}
if(*node == 0) {
tmp->value = val;
tmp->left=0;
tmp->right = 0;
*node = tmp;
this->treeSize++;
}else{
add(&(*node)->right, val);
}else{
add(&(*node)->left, val);
void Tree<T>::printInOrder(){
printInOrder(this->root);
if(node != 0){
printInOrder(node->left);
std::cout << node->value << ", ";
printInOrder(node->right);
void Tree<T>::printPreOrder(){
printPreOrder(this->root);
if(node != 0) {
printInOrder(node->left);
printInOrder(node->right);
void Tree<T>::printPostOrder(){
printPostOrder(this->root);
if(node != 0){
printInOrder(node->left);
printInOrder(node->right);
if(node != 0){
deleteTree(node->left);
deleteTree(node->right);
delete node;
return o.printInOrder();
template<class T>
T val;
is >> val;
i.add(val);
return is;
int main(){
Tree<int> tree;
tree.add(5);
tree.add(4);
tree.add(7);
tree.add(10);
tree.add(1);
tree.add(2);
Tree<char> obj;
Rezultatul Programului:
Concluzie:
In rezultatul elaborarii lucrarii date s-a pus baza aplicarii in practica a cunostintelor
teoretice referitoare OOP, la sabloane in C++.
Astfel se poate judeca despre posibilitatile largi acordate de limbajul C++ referitor la
manipularea claselor.