C++多態(tài)

C++多態(tài)意味著在調(diào)用成員函數(shù)時,會根據(jù)調(diào)用函數(shù)的對象的類型來執(zhí)行不同的函數(shù)

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

int main()
{
    Shape * shape;
    Rectangle rec(10,7);
    Triangle tri(10,5);

//存儲矩形的地址
  shape = &rec;

 shape -> area();

 shape = &tri;

//調(diào)用三角形的求面積函數(shù) area
shape -> area();

return 0;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容