Ruby ist, wenn überhaupt, verwandt mit Pearl und Python (da der Autor sich von diesen Sprachen hat inspirieren lassen) und benutzt das OOP-Konzept von Smalltalk, welches übrigens auch in objective-C verwendet wird.
C++ und object Pascal verwenden ein anderes OOP-Konzept, ein Vergleich ist somit kaum möglich. In C++ ist zB nicht möglich ohne den Source Code eine Klasse nachträglich zu erweitern, oder dies gar zur Laufzeit zu machen.
In Ruby sind Klassen auch nur Objekte, die sich ohne Probleme nachträglich (auch zur Laufzeit) erweitern lassen, in Variablen gespeichert werden können etc.. Alles was C++ oder Pascal schon vom Konzept her ausschließen.

Von solchen Kleinigkeiten wie der Typlosigkeit in Ruby einmal abgesehen.