Vous devez diviser votre application en deux parties : 1) un frontal web et 2) une logique métier. La logique métier sera votre code C++. Vous n'avez vraiment pas envie d'implémenter votre frontal web en C++, sauf si vous avez beaucoup de temps libre et de patience. Heureusement, il existe de nombreux frameworks web basés sur des langages plus modernes. Mon préféré est le nouveau framework ASP.NET MVC parce que je suis un gars de Windows/.NET, mais vous pouvez faire votre choix (ruby on rails, python, java, etc.).
La conception RESTful exige que vous organisiez les fonctionnalités de votre application en tant que ressources et que CRUD les opérations sur ces ressources. Les opérations CRUD correspondent aux méthodes HTTP POST, GET, PUT et DELETE. Un excellent livre sur la conception RESTful est Services Web RESTful ... note que je n'ai pas trouvé beaucoup de livres sur ce sujet.
Une fois que vous avez conçu et implémenté votre API REST dans le frontal web, il existe plusieurs façons de la connecter à votre application C++, dont certaines ont été mentionnées par les posters précédents (par exemple, FastCGI).
P.S. Vous avez mentionné quelque chose à propos de l'état de votre application. Si vous avez besoin d'un état qui persiste à travers plusieurs requêtes HTTP, vous pouvez appliquer certains principes de conception RESTful. Consultez le livre ou faites des recherches sur le Web (désolé, je n'ai pas mes liens favoris sous la main pour le moment).