c++ verdient den namen eigentlich erst, wenn es die STL enthält. eine derart umfassende c++ implementierung dürfte den atmega8 doch überfordern.
klassen und vererbung benötigen schon einges an speicherplatz (RAM) damit es sinn macht.

oop ist vom konzept her etwas sehr dynamisches. deshalb werden eben viele informationen im RAM (bei µC eher mangelware) abgelegt. natürlich kann ich nen c++ compiler nehmen und so programmieren, das auch alles ins flash geht. nur wird das dann eher wenig mit c++ und oop zu tun haben.

natürlich enthält c++ auch ne menge vorteile (hier und da verbesserte syntaktische möglichkeiten) gegenüber c die keinen erhöhten speicherbedarf bedingen. aber als richtiges c++ würd ich das dann nicht bezeichnen. eher als ein aufgemotztes c aber das kann ja auch schon ein vorteil gegenüber normalem c sein.

das arduino board wird mit einer sprache programmiert, die auf c/c++ basiert. aber von c++ ist da kaum was drin. eigentlich ists eher reines c.