Ok, grazie.. Ecco l'intero codice (ho infine sviluppato le funzioni di cui parlavo prima, nel 'main()', ma invano ) :

codice:
#include <iostream>                               
#include <stdlib.h>

using namespace std;

class List {                                     
  private :                                     
    char car;                                     
    List* nxt;                                  
    
  public :                                        
    List() { car = '\0'; nxt = NULL; }             
    ~List() { car = '\0'; nxt = NULL; }           
    void set(char new_car) { car = new_car; }     
    char get_car() { return car; }               
    void point_nxt(List* where_to_point) { nxt = where_to_point; }  
    List* get_nxt() { return nxt; }              
    void print(List*, List*);
};

void List::print(List* s, List* lista) {
  cout << "Gli elementi della 1-a lista sono i seguenti : \n\n";
  while(s != NULL) {
    cout << "[ " << s->get_car() << " ] ";
    s = s->get_nxt();
  }
  cout << "\n\n";
} 

    
main() {                                          
  List* st = NULL;
  List* l1;
  List* l2;
  List* nuovo;
  List* tmp;
  char c;
  
  cout << "******************   UNIONE  LISTE   ******************\n\n";
  l1 = new List();
  cout << "Popola 1-a lista di caratteri : ('x' per terminare) : \n\n";
  do {
        cin >> c;
        nuovo = new List();                       
        nuovo->set(c);
        nuovo->point_nxt(NULL);
  
        if(st == NULL)                           
          st = nuovo;
            else  
              tmp = st;                         
              tmp->point_nxt(nuovo);
  } while(c != 'x');
  
  st->print(st, l1);  
  
  l2 = new List();
  cout << "Popola 2-a lista di caratteri : ('x' per terminare) : \n\n";
  do {
        cin >> c;
        nuovo = new List();                       
        nuovo->set(c);
        nuovo->point_nxt(NULL);
  
        if(st == NULL)                                    
          st = nuovo;
            else {  
                    tmp = st;                       
                    tmp->point_nxt(nuovo);
            }
  } while(c != 'x');
    
  st->print(st, l2);
    
  cout << "Visualizzazione della lista 'unione' : \n\n";
  while( l1->get_nxt() ) {                       
    cout << "[ " << l1->get_car() << " ] ";
    l1 = l1->get_nxt();
  }
  while( l2->get_nxt() ) {                       
    cout << "[ " << l2->get_car() << " ] ";
    l2 = l2->get_nxt();
  }
  
cout << "Premi 'Invio' per terminare..";
cin.ignore();
return EXIT_SUCCESS;
}

Con la coda della scorsa volta sotto mano, non riesco tuttavia a trovare una relazione tra quel programma e questo e magari riutilizzare delle parti.. Ad esempio, nella classe coda avevamo dichiarato anche una funzione helper interna, che aveva il compito di restituire un puntatore all'ultimo elemento della coda.. Serve anche qui, per la creazione di una nuova lista?