Ну первое что бросается в глаза
Node::Node() : initData(0), initPrevious(0), initNext(0)
initData - нигде не определена надо data(0) именно такое поле есть в классе.
Node::Node(int data,int previous,int next): data(initData),
тоже перепуталось то что инициализируется с тем чем оно инициализируется
надо примерно так:
Node::data(::data) тут получилось одинаковое название переменной класса и аргумента конструктора
А лучше их называть по разному:
Node::Node(int data_value,int previous,int next): data(data_value),
using namespace std;
std::ostream& operator
если уж заюзали std дальше можно писать ostream вместо std::ostream.
Лично мне кажется что тут вообще ни к чему явоподобный гемморой. Пишите проще!
class Node
{
public:
Node():previous(0),next(0){}
int previous,next;
};
Методы доступа сделаете когда будет к этому веское основание.