Inheritance

  class A { 
\fbox{ancestor}
public: A() { n = 0; } void add( int i ) { n = n + i; } virtual int val() { return n; } protected:
// private would deny access to D
int n; }; class D : public A {
\fbox{descendant}
public: D() : A() { } int val() { return n \$%\$ 2; } };

slide: C++ -- inheritance