-
Notifications
You must be signed in to change notification settings - Fork 0
/
nodeProd.cpp
executable file
·71 lines (56 loc) · 1.18 KB
/
nodeProd.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
//
// Created by hugo on 28/08/19.
//
#include "nodeProd.h"
using namespace std;
NodeProd::NodeProd() : next(nullptr), prev(nullptr), dataPtr(nullptr)
{
}
NodeProd::NodeProd(Producto & P) : next(nullptr), prev(nullptr)
{
if((dataPtr = new Producto(P)) == nullptr)
{
cout << "Excepcion, memoria insuficiente, NodeProd constructor" <<endl;
}
}
NodeProd::~NodeProd() {
delete dataPtr;
}
void NodeProd::setDataPtr(Producto* ptr) {
dataPtr = ptr;
}
void NodeProd::setData(Producto &data) {
if(dataPtr == nullptr)
{
if((dataPtr = new Producto(data)) == nullptr)
{
cout << "excepcion, memoria insuficiente, setData NodeProd set data" << endl;
}
}
else
{
*dataPtr = data;
}
}
void NodeProd::setNext(NodeProd *n) {
next = n;
}
void NodeProd::setPrev(NodeProd *p) {
prev = p;
}
Producto *NodeProd::getDataPtr() {
return dataPtr;
}
Producto &NodeProd::getData() {
if(dataPtr == nullptr)
{
cout << "excepcion, get data, nodo Producto, memoria insuficiente" << endl;
}
return *dataPtr;
}
NodeProd* NodeProd::getNext() {
return next;
}
NodeProd* NodeProd::getPrev() {
return prev;
}