W17 實作3
#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;
}