/ /定义一个抽象类CShape (至少有一个函数被声明为纯虚函数);
// 再利用CShape分别定义两个派生类CRectangle(矩形)和CCirle(圆),
//三个类都有计算面积的成员函数GetArea()和计算对象周长的成员函数GetPerimeter() ;
// 在主函数中声明基类指针和派生类对象,并通过基类指针调用不同对象的成员函数GetArea() 和GetPerimeter()。
// 定义一个抽象类CShape (至少有一个函数被声明为纯虚函数);
// 再利用CShape分别定义两个派生类CRectangle(矩形)和CCirle(圆),
//三个类都有计算面积的成员函数GetArea()和计算对象周长的成员函数GetPerimeter() ;
// 在主函数中声明基类指针和派生类对象,并通过基类指针调用不同对象的成员函数GetArea() 和GetPerimeter()。
#include<bits/stdc++.h>
using namespace std;
class CShape
{
public:
virtual double GetArea()=0;
virtual double GetPerimeter()=0;
};
class CRectangle:public CShape
{
private:
double length,width;
public:
CRectangle(double length_,double width_){
length=length_;
width=width_;
}
virtual double GetArea()
{
double p;
p=length*width;
cout<<"矩形的面积为:"<<p<<endl;
}
virtual double GetPerimeter(){
double c;
c=length*width;
cout<<"矩形的周长为:"<<c<<endl;
}
};
class CCircle:public CShape
{
private:
double r;
public:
CCircle(double r_){
r=r_;
}
virtual double GetArea()
{
double sq;
double pi=3.14;
sq=pi*r*r;
cout<<"圆的面积"<<sq<<endl;
}
virtual double GetPerimeter(){
double sc;
double pi=3.14;
sc=2*pi*r;
cout<<"圆的周长"<<sc<<endl;
}
};
int main(){
CShape* pCShape;//基类的指针
pCShape ->
return 0;
}