Man kann sehr wohl sofort mit OOP-Konzepten beginnen. Vermutlich ist das für viele sogar leichter verständlich. Dann lässt man den technischen Part weg und fängt konzeptuell an ("ich erstelle eine Welt, da drin gibts verschiedene Objekte, die können verschiedene Dinge tun...").
Und dann erst in diesem OOP Paradigma beginnen, Variablen, Flusskontrolle etc. zu erklären.
Dazu gibts dann eigene Umgebungen wie z.B. diese Hamster-Programme (Hamster muss Nüsse sammeln etc.) um erstmal Konzepte lernen zu können, und sich eben noch nicht mit den technologisch spezifischen Details rumschlagen zu müssen.
Mal abgesehen davon, gibt es in dem Programm nicht viel OOP wenn einfach cin, cout statt scanf, printf verwendet wird. Komplizierter ist cin, cout wohl auch nicht (auch wenn ich persönlich eigentlich auch lieber stdio als iostream verwende..).
Natürlich kann man auch die C++ Libs verwenden und erstmal keine Klassen (etc.).
Schließlich beginnen auch viele mit Java, bekommen halt mal eine Basisklasse mit leerem main vorgesetzt und dann wird erstmal nur da reinprogrammiert.
Und da wird dann auch System.out.* verwendet... ist doch völlig egal. Als Anfänger lernt man das quasi sowieso erstmal auswendig ("ich verwende x um was einzulesen, y um was auszugeben"). Ob da jetzt ein Stream dahintersteckt oder nicht, interessiert niemanden.
Ich hab auch mit C angefangen und dann auf C++ weitergegangen. Ich denke aber nicht, dass das jetzt nicht anders auch gehen würde.