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; } };