An Introduction to Object-Oriented Programming

By Timothy Budd

Study Guide for Chapter 12


Learning Objectives

After reading this chapter, you should be able to:

Study Questions

You may wish to use the print or save as command on your web browser to produce a copy of this study guide. That way you can fill in the answers to the questions as part of your assimilating the information you learn as you read the material.
  1. Explain why there is a conflict between the principle of substitutability, and the compile-time allocation of memory to variables.

  2. Briefy describe the three approaches described in the book that are used to solve this problem.

  3. What is the slicing problem? In languages that use the minimal space allocation strategy, why does the programmer need to know that slicing is taking place?

  4. Why do programming languages, for the most part, not used the maximum static space allocation technique?

  5. What does it mean to say a programming language uses pointer semantics for assignment? How might a programmer tell if his or her language uses pointer semantics?

  6. What is pointer equivalence? What is a situation where one might want to say that two values are equal when they are not identically equivalent in the pointer sense?

  7. What is a cast? In what situations would one use a cast?

Contents copyright Timothy Budd, 1995.