Non conosco il C++, conosco un pò di C, ma credo che i principi siano eguali.

In C per scrivere una risposta html tramite un CGI basta questo codice:

#include <stdio.h>

int main(void) {
printf("Content-type: text/html\n\n");
printf("<html><head></head><body>Ciao</body></html>\n");

return 0;
}

Più complesso è ricevere i parametri che servono al CGI, in genere si usa una libreia che mi pare si chiami libcgi o cgi-lib, ma comunque il tutto funziona tramite la lettura di variabili d'ambiente passate dal web server al CGI, lette tramite la funzione "getenv" e la lettura tramite buffer dello "stdin" ovvero dello standard input.