C++ List Node

Description

C++ List Node

#include <iostream> 
#include <array> 
#include <vector> 
#include <ios> 

using namespace std; 


class ListNode /*ww  w .  ja  v a 2s  .c  o m*/
{ 
private: 
        void* m_Data = nullptr; 
        ListNode* m_Last = nullptr; 
        ListNode* m_Next = nullptr; 
  
public: 
        ListNode(void* data) 
        : m_Data{data} 
        { 
        } 
  
        void* GetData() 
        { 
                return m_Data; 
        } 
  
        void SetLast(ListNode* last) 
        { 
                m_Last = last; 
        } 
        ListNode* GetLast() 
        { 
                return m_Last; 
        } 
  
        void SetNext(ListNode* next) 
        { 
                m_Next = next; 
        } 
  
        ListNode* GetNext() 
        { 
                return m_Next; 
        } 
}; 

int main(int argc, char *argv [])
{   
 
        unsigned int firstData = 1; 
        ListNode first(&firstData); 
  
        unsigned int secondData = 2; 
        ListNode second(&secondData); 
  
        unsigned int thirdData = 3; 
        ListNode third(&thirdData); 
  
        first.SetNext(&second); 
  
        second.SetLast(&first); 
        second.SetNext(&third); 
  
        third.SetLast(&third); 
  
        for (ListNode* iter = &first; iter != nullptr; iter = iter->GetNext()) 
        { 
                unsigned int* number = static_cast<unsigned int*>(iter->GetData()); 
                cout << *number << endl; 
        } 
        return 0; 
}



PreviousNext

Related