In modern computer language, an activation record is created and pushed onto the run-time stack for each call of a function. It contains information/data for that particular call of the function. There is a pointer that holds the current PC for this particular execution of the function. ===================================== What is the overriding determination of equality? - Easy determination of 'sameness' - Can be converted and display sameness. - Convention - Common sense Type equivalenve is a matter for the compiler, i.e. it is defined in the language. Identical types: Compiler sees them as the exact same Compatible types: Compiler allows either type combined in an expression. Structural Equivalence: Two objects are structurally equivalent if their members match by type (but not necessarily in declaration order). ================================== Inheritance note: If a subclass has a data member whose identifier is the same as in its superclass, the subclass declaration shadows, overrides, the supercalss declaration, which is therefore not inherited. If a subclass declares an instance of a finction with the same signature as in the superclass, that function also overrides the superclass version. In C++, an overridden member can still be accessed using scope resolution, e.g. :: In Java: super.