struct Point2 { int x, y; void draw(Canvas c) {...} }struct Point3 : Point2 { int z; void draw(Canvas c) {...} } Point3 p3; Point2 *p2 = &p3; // what does this do? p2.draw(c);
Nothing. You should got a type error upon attempting to assign a p3* to a p2*.
-- Simen