Beh già che ci siamo usiamo i template, no?
codice:
template <typename type> class Node {

   private:
      type *payload;
      Node *next;

   public:
      //Getter e setter

};