C++多态

#include iostream using namespace std;class Shape {protected:int width, height;public:Shape( int a = 0, int b = 0){

编程学习网为您整理以下代码实例,主要实现:C++多态,希望可以帮到各位朋友。

#include <iostream> 

using namespace std;

class Shape {
   protected:
      int wIDth, height;

   public:
      Shape( int a = 0, int b = 0){
         wIDth = a;
         height = b;
      }
      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); 
      }
};

// Main function for the program
int main() {
   Shape *shape;
   Rectangle rec(10,7);
   Triangle  tri(10,5);

   // store the address of Rectangle
   shape = &rec;

   // call rectangle area.
   shape->area();

   // store the address of Triangle
   shape = &tri;

   // call triangle area.
   shape->area();

   return 0;
}

本文标题为:C++多态

下一篇: C++数据抽象

基础教程推荐