Then why was C++ invented? What you have described can be done in C, Pascal, and Fortran 90, all of which are generally classified as procedural programming languages. As Lutz and Ascher say in "Learning Python", in object-based programming one can pass objects around, use them in expressions, and call their methods. "To qualify as being truly object-oriented (OO), though, objects need to also participate in something called an inheritance hierarchy."
Again, behavioural inheritiance is something which can be done manually via delegation or function tables.
What a language with OO support adds is special syntax for something that you could have done anyway - the OO support just makes it easier and clearer (well, C++ aside).
Cheers, Nick.
-- Nick Coghlan | [EMAIL PROTECTED] | Brisbane, Australia --------------------------------------------------------------- http://boredomandlaziness.skystorm.net -- http://mail.python.org/mailman/listinfo/python-list