Ho fatto una prova e funziona
codice:
class Docente{
public:
	Docente(std::string nome, std::string cognome) : nome(nome), cognome(cognome){};
	friend std::ostream& operator<<(std::ostream& out, const Docente &d){
		out << d.nome << " " << d.cognome;
		return out;
	}
private:
	std::string nome, cognome;
};
codice:
std::cout << *new Docente("asd", "lol");