diff --git a/DataStructures/src/Generic/undirectednode.cpp b/DataStructures/src/Generic/undirectednode.cpp index 4547b51..933e0f3 100644 --- a/DataStructures/src/Generic/undirectednode.cpp +++ b/DataStructures/src/Generic/undirectednode.cpp @@ -1,7 +1,7 @@ #include "undirectednode.h" namespace Generic { - template + template UndirectedNode::UndirectedNode(T value, NodeType* left, NodeType* right){ this->value = value; this->next = next; diff --git a/DataStructures/src/LinkedList/linkedlist.h b/DataStructures/src/LinkedList/linkedlist.h index a442904..50a4530 100644 --- a/DataStructures/src/LinkedList/linkedlist.h +++ b/DataStructures/src/LinkedList/linkedlist.h @@ -1,5 +1,6 @@ #pragma once namespace Datastructures { + template class LinkedList { public: @@ -9,12 +10,4 @@ namespace Datastructures { private: }; - - LinkedList::LinkedList() - { - } - - LinkedList::~LinkedList() - { - } } \ No newline at end of file diff --git a/DataStructures/src/LinkedList/linkedlistnode.cpp b/DataStructures/src/LinkedList/linkedlistnode.cpp index 1f7cbb1..d0d8468 100644 --- a/DataStructures/src/LinkedList/linkedlistnode.cpp +++ b/DataStructures/src/LinkedList/linkedlistnode.cpp @@ -2,6 +2,16 @@ namespace Datastructures { namespace Nodes { + template + LinkedListNode::LinkedListNode(T value, LinkedListNode* next) { + this->value = value; + this->next = next; + } + //Creates a new node, returning a pointer to a stack allocated object + template + LinkedListNode* LinkedListNode::create(T value, LinkedListNode* next) { + return new LinkedListNode(value, next); + } } } \ No newline at end of file diff --git a/DataStructures/src/LinkedList/linkedlistnode.h b/DataStructures/src/LinkedList/linkedlistnode.h index bb91a28..dd9175c 100644 --- a/DataStructures/src/LinkedList/linkedlistnode.h +++ b/DataStructures/src/LinkedList/linkedlistnode.h @@ -4,12 +4,14 @@ namespace Datastructures { namespace Nodes { template - class LinkedListNode : public Generic::UndirectedNode + class LinkedListNode : public Generic::UndirectedNode> { public: - LinkedListNode(); + LinkedListNode(T value, LinkedListNode* next = nullptr); ~LinkedListNode(); + LinkedListNode* create(T value, LinkedListNode* next = nullptr); + private: };