继承,虚拟函数
#include<bits/stdc++.h>
using namespace std;
class shape{
protected:
int x,y;
shape(int x = 0,int y = 0):x(x),y(y){}
virtual ~shape(){}
virtual double GetArea() = 0;// 纯虚函数,用于计算面积
};
class Rectangle : public shape{
protected:
int Length,Width;
public:
Rectangle(int Length,int Width):Length(Length),Width(Width){}
double GetArea() override{//表示该函数是重写基类的虚函数
return Length*Width;
}
};
class Circle : public shape{
protected:
int radius;
public:
Circle(int radius):radius(radius){}
double GetArea() override{
return 3.14*radius*radius;
}
};
class Square : public Rectangle{
public:
Square(int side) : Rectangle(side,side){}
};
int main(){
int Length,Width,radius,side;
cin>>Length>>Width;
Rectangle a(Length,Width);
cout<<a.GetArea()<<endl;
cin>>radius;
Circle b(radius);
cout<<b.GetArea()<<endl;
cin>>side;
Square c(side);
cout<<c.GetArea()<<endl;
return 0;
}
using namespace std;
class shape{
protected:
int x,y;
shape(int x = 0,int y = 0):x(x),y(y){}
virtual ~shape(){}
virtual double GetArea() = 0;// 纯虚函数,用于计算面积
};
class Rectangle : public shape{
protected:
int Length,Width;
public:
Rectangle(int Length,int Width):Length(Length),Width(Width){}
double GetArea() override{//表示该函数是重写基类的虚函数
return Length*Width;
}
};
class Circle : public shape{
protected:
int radius;
public:
Circle(int radius):radius(radius){}
double GetArea() override{
return 3.14*radius*radius;
}
};
class Square : public Rectangle{
public:
Square(int side) : Rectangle(side,side){}
};
int main(){
int Length,Width,radius,side;
cin>>Length>>Width;
Rectangle a(Length,Width);
cout<<a.GetArea()<<endl;
cin>>radius;
Circle b(radius);
cout<<b.GetArea()<<endl;
cin>>side;
Square c(side);
cout<<c.GetArea()<<endl;
return 0;
}
全部评论
相关推荐

点赞 评论 收藏
分享
点赞 评论 收藏
分享
风中翠竹:真的真的真的没有kpi。。。面试官是没有任何kpi的,捞是真的想试试看这个行不行,碰碰运气,或者是面试官比较闲现在,没事捞个人看看。kpi算HR那边,但是只有你入职了,kpi才作数,面试是没有的。

点赞 评论 收藏
分享

点赞 评论 收藏
分享