Czy za każdym razem, używając: #include<...> <-- coś tam z STL [lub boost, a możliwe, że są/będą dostępne i inne biblioteki?] nie korzystasz z więcej niż jednego pliku i jednocześnie czy twój program, nie jest już w pewnym sensie trochę obiektowy?
[raczej pytam retorycznie]
Jeżeli naprwdę chcesz "liznąć" PO, możesz u siebie to robić i robić to tak jak lubisz, w wielu plikach, klasach, podklasach itd, a po skompilowaniu i przetestowaniu u siebie, możesz wysyłać taki kod, sklejając wcześniej odpowiednie pliki źródłowe w jeden - pewnie wystarczyłby do tego nawet bash, ale możesz sobie napisać też specjalny programik [obiektowo] w c++, automatycznie sklejający potrzebne pliki.
Jeżeli miałeś w ręku Algorytmikę praktyczną, to pewnie zauważyłeś, że większość kodu jest pisana tam z użyciem klas, struktur, template, więc może jednak można i warto?
PS
Powyższe piszę tylko teoretycznie, bo sam tak [jeszcze] nie robię.