Dlaczego ciągle używa int w szablonie?

0

Siemanko, muszę zrobić linked list z użyciem templates (anglojęzyczne studia, stąd nazwy angielskie). Niby wszystko fajnie się kompiluje, ale ciągle wypisuje mi int zamiast double pomimo takiego kodu:

#include <iostream>
using namespace std;
template <class T>
class Node
{
    T data;
    Node* next;

public:
    Node(T d)
    {
        data = d;
        next = 0;
    }
    ~Node()
    {
    }
    Node* getNEXT()
    {
        return next;
    }
    void setNEXT(Node<T>* target)
    {
        next = target;
    }
    T getDATA()
    {
        return data;
    }
    void print()
    {
        cout << "DATA: " << getDATA() << endl;
    }
};

template <class T>
class LinkedList
{
private:
    Node<T>* head;

public:
    LinkedList()
    {
        head = 0;
    }
    ~LinkedList()
    {
        Node<T>* etr = head;
        while (etr)
        {
            etr = etr->getNEXT();
            delete head;
            head = etr;
        }
    }
    void AddElement(int d)
    {
        Node<T>* ptr;
        ptr = new Node<T>(d);
        if (head == 0)
        {

            head = ptr;
        }
        else
        {
            Node<T>* temp;
            temp = head;
            while (temp->getNEXT())
            {
                temp = temp->getNEXT();
            }
            temp->setNEXT(ptr);
            ptr->setNEXT(NULL);
        }
    }
    void printlist()
    {
        Node<T>* ptr;
        ptr = head;
        while (ptr)
        {
            ptr->print();
            ptr = ptr->getNEXT();
        }
    }

    void reverse()
    {
        Node<T> *tmp, *pom;
        if (head == NULL)
            printf("Brak elementow");
        else
        {
            tmp = head;
            while (tmp->getNEXT() != NULL)
            {
                pom = tmp->getNEXT();
                tmp->setNEXT(pom->getNEXT());
                pom->setNEXT(head);
                head = pom;
            }
        }
    }
};

int main()
{
    LinkedList<double> a;
    a.AddElement(5.0);
    a.AddElement(6.0);
    a.AddElement(7.51);
    a.printlist();
    a.reverse();
    a.printlist();
    return 0;
}

5

void AddElement(int d)

Pewnie dlatego

1 użytkowników online, w tym zalogowanych: 0, gości: 1