Introduction to OOP: Chapter 12: Implications of Inheritance
Problems with Pointer Semantics
If x is assigned to y and then changes are made to x, are these changes
reflected in y?
If x is explicitly freed, what happens if the user tries to access
memory through y?
In C++, programmer can make assignment (equality testing) mean anything
Object Pascal, Java uses pointer semantics, no built-in provision for
Smalltalk and Objective-C use pointer semantics, have several techniques
for making copies.
Intro OOP, Chapter 12, Slide 14