class Shape virtual float areao return 0.0: 1 虚函数 virtual float volume( freturn 0.0, 1 virtual void print ShapeName(=0; 纯虚函数 class Point: public Shape virtual void print ShapeNameo class Circle: public Point 实例 virtual float areao 研究 virtual void print ShapeNameo class Cylinder public Circle virtual float areao virtual float volume; virtual void print ShapeNameo
class Shape 实例研究 virtual float area() {return 0.0;} virtual float volume() {return 0.0;} virtual void printShapeName()=0; class Point : public Shape virtual void printShapeName(); class Circle : public Point virtual float area() ; virtual void printShapeName(); class Cylinder : public Circle virtual float area() ; virtual float volume() ; virtual void printShapeName(); 虚函数 纯虚函数 实 例 研 究
新类和动态绑定 动态绑定:允许向系统中添加新类。编译时可以 不必知道对象的类型。在运行时,虚函数调用和 被调用对象的成员函数匹配。 屏幕管理程序可以不经过重新编译就可以处理新 的显示对象。 Circle: Draw( 屏幕管理程序 Square: Draw List[i]->Draw()i Triangle: Draw Rectangle:Draw0←ew 采霈新鳊
动态绑定:允许向系统中添加新类。编译时可以 不必知道对象的类型。在运行时,虚函数调用和 被调用对象的成员函数匹配。 屏幕管理程序可以不经过重新编译就可以处理新 的显示对象。 新类和动态绑定 Circle:Draw() Square:Draw() Triangle:Draw() List[i]->Draw(); 屏幕管理程序 Rectangle:Draw() new! 不需重新编译!