網路教學(e-Learning)校園社群(e-Community)服務台(e-Service)系所班網(e-Class)登入
位置: 陳安邦 > C++
W17 實作3
by 陳安邦 2016-01-07 16:34:37, 回應(0), 人氣(131)
#include <cstdlib>
#include <iostream>

using namespace std;
class father
{

 
 public:
        
        virtual int area()=0;
        void showarea()
        {
        cout << "area = " << area() << endl;
        }
};
class son : public father
{
      
      protected:
                int width, height;
      public:
             son(int w=10, int h=10)
             {
              width=w;
              height=h;       
             }
      virtual int area()
      {
      return width*height;      
      }
             
};
class sonCir : public father
{
      
      protected:
                int radius;
      public:
             sonCir(int r=10)
             {
              radius=r;      
             }
      virtual int area()
      {
      return (int)(3.14*radius*radius);
      }
      void showarea()
      {
      cout << "sonCir物件面積=" << area() << endl;     
      }     
};
class sonT : public father
{
      
      protected:
                int aii;
                int bai;
                int cai;
      public:
             sonT(int a=10,int f=10,int i=10)
             {
              aii=a;
              bai=f;
              cai=i;      
             }
      virtual int area()
      {
      return (int)((aii+bai)*cai)/2;
      }
      void showarea()
      {
      cout << "sonT物件面積=" << area() << endl;     
      }     
};
int main(int argc, char *argv[])
{
    
    son txt(50,60);
    sonCir t1xt(5);
    sonT t2xt(20,50,5);
    
    
    txt.showarea();
    t1xt.showarea();
    t2xt.showarea();
    
    
    
     
     
     
    system("PAUSE");
    return EXIT_SUCCESS;
}