📄 10_88.cpp
字号:
#include<iostream.h>
const double PI=3.1416;
class shape
{
protected:
double r;
public:
shape(double x){r=x;}
virtual double area()
{
cout<<"No area of this class."<<endl;
return 0.0;
}
virtual double perimeter()
{
cout<<"No perimeter of this class."<<endl;
return 0.0;
}
};
class circle:public shape
{
public:
circle(double x):shape(x){}
double area()
{
return PI*r*r;
}
double perimeter()
{
return 2*PI*r;
}
};
class in_s:public shape
{
public:
in_s(double x):shape(x){}
double area()
{
return 2*r*r;
}
double perimeter()
{
return 4*1.414*r;
}
};
class ex_s:public shape
{
public:
ex_s(double x):shape(x){}
double area()
{
return 4*r*r;
}
double perimeter()
{
return 8*r;
}
friend double operator+(double d,ex_s &e);
};
void main()
{
shape *ptr;
circle c1(11);
in_s c2(12);
ex_s c3(13);
ptr=&c1;
cout<<"The circle's area is:";
cout<<ptr->area(); cout<<endl;
cout<<"The circle's perimeter is:";
cout<<ptr->perimeter(); cout<<endl;
ptr=&c2;
cout<<"The internal square' area is:";
cout<<ptr->area(); cout<<endl;
cout<<"The internal square'perimeter is:";
cout<<ptr->perimeter();cout<<endl;
ptr=&c3;
cout<<"The external square' area is:";
cout<<ptr->area();cout<<endl;
cout<<"The external square'perimeter is:";
cout<<ptr->perimeter();cout<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -