C语言的一个编程题,求救

声明一个rectangle类,包括数据成员l(长)和w(宽),求周长的函数成员getcir()类和求面积的函数成员getArea()。要求实现根据用户键盘输入的l和w值实... 声明一个rectangle类,包括数据成员l(长)和w(宽),求周长的函数成员getcir()类和求面积的函数成员getArea()。要求实现根据用户键盘输入的l和w值实例化一个rectangle类的对象,求出其周长和面积的输出。 展开
 我来答
魔法失灵了
2011-12-08 · 超过12用户采纳过TA的回答
知道答主
回答量:54
采纳率:0%
帮助的人:26.5万
展开全部
#include <iostream>
using namespace std;

class Shape
{
public:
virtual float getArea()=0;//定义为纯虚函数,带有纯虚函数的类是抽象类
virtual float getPerim()=0;/*抽象类的作用:通过它为一个类族建立一个公共的接口,使它们能够更有效地发挥多态性
声明为纯虚函数之后,基类中就可以不再给出函数的实现部分,纯虚函数的函数体由派生类给出*/

protected://声明为私有成员,则在派生类中无法使用
int x;
int y;
float radius;
};

class Rectangle:public Shape
{
public:
Rectangle(int xx,int yy);
float getArea()
{
return x*y;
}
float getPerim()
{
return 2*x+2*y;
}

};
Rectangle::Rectangle(int xx,int yy)
{
x=xx;
y=yy;
}

class Circle:public Shape
{
public:
Circle(float r);
float getArea()
{
return 3*radius*radius;
}
float getPerim()
{
return 2*3*radius;
}
};
Circle::Circle(float r)
{
radius=r;
}

int main()
{
Shape *p;//抽象类不能实例化,即不能定义一个抽象类的对象,但是可以定义一个抽象类的指针和引用,通过指针或引用,就可以指向并访问派生类对象,进而访问派生类的成员,这种访问时具有多态性特征的
p=new Rectangle(10,20);
cout<<"矩形面积:"<<p->getArea()<<endl;
cout<<"矩形周长:"<<p->getPerim()<<endl;
delete p;
p=new Circle(5);
cout<<"圆形面积:"<<p->getArea()<<endl;
cout<<"圆形周长:"<<p->getPerim()<<endl;
delete p;
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
terranlong
2011-12-08 · TA获得超过7294个赞
知道大有可为答主
回答量:2660
采纳率:0%
帮助的人:4006万
展开全部
#include <iostream>
using namespace std;
class rectangle
{
public:
rectangle(double L, double W):l(L),w(W){}
double getCir();
double getArea();
private:
double l;
double w;
};

double rectangle::getCir()
{
return 2 * (l + w);
}

double rectangle::getArea()
{
return l * w;
}

void main()
{
double l, w;
cout << "长:";
cin >> l;
cout << "宽:";
cin >> w;
rectangle r(l, w);
cout << "周长:" << r.getCir() << endl;
cout << "面积:" << r.getArea() << endl;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式