25-26.多态的相关。

来源:互联网 发布:大闹天宫数据库密码 编辑:程序博客网 时间:2024/06/05 19:58
#include <iostream> using namespace std; class Shape {   protected:      int width, height;   public:      Shape( int a=0, int b=0)      {         width = a;         height = b;      }      virtual  int area()      {         cout << "Parent class area :" <<endl;         return 0;      }};class Rectangle: public Shape{   public:      Rectangle( int a=0, int b=0):Shape(a, b) { }      int area ()      {          cout << "Rectangle class area :" <<endl;         return (width * height);       }};class Triangle: public Shape{   public:      Triangle( int a=0, int b=0):Shape(a, b) { }      int area ()      {          cout << "Triangle class area :" <<endl;         return (width * height / 2);       }};// 程序的主函数int main( ){   Shape *shape;   Rectangle rec(10,7);   Triangle  tri(10,5);    // 存储矩形的地址   shape = &rec;   // 调用矩形的求面积函数 area   shape->area();    // 存储三角形的地址   shape = &tri;   // 调用三角形的求面积函数 area   shape->area();      return 0;}

同一个函数执行不同的功能。

Rectangle class areaTriangle class area

原创粉丝点击