Introduction to OOP: Chapter 12: Implications of Inheritance [next] [previous] [audio] [real] [text]

Illustration

void Window::oops()
{	printf("Window oops\n"); }

void TextWindow::oops()
{	printf("TextWindow oops %d\n", cursorLocation);

TextWindow x;

Window a;
Window * b;
TextWindow * c;

a = x;	a.oops();	// executes Window version
b =  &x; b->oops();	// executes TextWindow or Window version;
c = &x; c->oops();	// executes TextWindow version
Intro OOP, Chapter 12, Slide 10