Is it possible to inherit this way? I just have errors popping up:
class Human:public Node<Human>; //Здесь unknown template name 'Node' и expected '{' after base class list template <class T> class Node{ private: T data; QList<Node<T>*> childs; QList<Node<T>*> parents; public: Node(){ qDebug( "Node construct" ); }; Node(T* newdata){ qDebug( "Node construct" ); data = *newdata; }; T get_data(){ return data; } void set_data(T new_data){data=new_data;} void add_child(T* child){ childs.push_back(new Node(child));} void add_parent(T* parent){parents.push_back(new Node(parent));} QList<Node<T>*>* get_childs(){return &childs;} QList<Node<T>*>* get_parents(){return &parents;} ~Node(){ } }; class Human:public Node<Human>{ // А здесь redefinition of 'Human' private: int id; Node<Human> *node = new Node<Human>(); Photo avatar; QString firstname; QString lastname; QString description; Gallery gallery; QList<Event*> events; public: Human(){} Human(QString firstname,QString lastname,QString description):firstname(firstname),lastname(lastname),description(description){}; QString get_firstname(); QString get_lastname(); Photo get_avatar(); QList<Event *> get_events(); Gallery get_gallery(); void change_firstname(QString); void change_lastname(QString); void change_description(QString); void add_child(Human*); void add_parent(Human*); QList<Node<Human> *> *get_childs(); QList<Node<Human> *> *get_parents(); };
Human
identifier in theNode
class? - AnT