c++的编程题 望各位高手指点迷津
给出下面的基类:classarea_cl{protected:doubleheight;doublewidth;public:area_cl(doubler,double...
给出下面的基类:
class area_cl{
protected:
double height;
double width;
public:
area_cl(double r, double s)
{ height=r;width=s;)
virtual double area()=0;
}
要求:
(1)建立基类area_cl的两个派生类rectangle与isosceles,让每个派生类都包含一个函数area(),分别用来返回矩形和三角形的面积。用构造函数对height和width进行初始化。
(2)写出主程序,用来求height与width分别为10.0与5.0的矩形面积,以及求height与width分别为4.0与6.0的三角形面积。
(3)要求通过使用基类指针访问虚函数的方法(即运行时的多态性)分别求出矩形的三角形的面积。 展开
class area_cl{
protected:
double height;
double width;
public:
area_cl(double r, double s)
{ height=r;width=s;)
virtual double area()=0;
}
要求:
(1)建立基类area_cl的两个派生类rectangle与isosceles,让每个派生类都包含一个函数area(),分别用来返回矩形和三角形的面积。用构造函数对height和width进行初始化。
(2)写出主程序,用来求height与width分别为10.0与5.0的矩形面积,以及求height与width分别为4.0与6.0的三角形面积。
(3)要求通过使用基类指针访问虚函数的方法(即运行时的多态性)分别求出矩形的三角形的面积。 展开
展开全部
#include<iostream>
using namespace std;
class area_cl{
protected:
double height;
double width;
public:
area_cl(double r, double s)
{height=r;width=s;}
virtual double area()=0;
};
class rectangle:public area_cl{
public:
rectangle(double r,double s):area_cl(r,s){};
double area()
{
return height*width/2;
}
};
class isosceles:public area_cl{
public:
isosceles(double r,double s):area_cl(r,s){};
double area()
{
return height*width;
}
};
int main()
{
rectangle rec(2.0,3.0);
isosceles iso(2.0,3.0);
area_cl *area1=&rec;
area_cl *area2=&iso;
cout<<"三角形面积是"<<area1->area()<<endl<<"矩形面积是"<<area2->area()<<endl;
return 0;
}
using namespace std;
class area_cl{
protected:
double height;
double width;
public:
area_cl(double r, double s)
{height=r;width=s;}
virtual double area()=0;
};
class rectangle:public area_cl{
public:
rectangle(double r,double s):area_cl(r,s){};
double area()
{
return height*width/2;
}
};
class isosceles:public area_cl{
public:
isosceles(double r,double s):area_cl(r,s){};
double area()
{
return height*width;
}
};
int main()
{
rectangle rec(2.0,3.0);
isosceles iso(2.0,3.0);
area_cl *area1=&rec;
area_cl *area2=&iso;
cout<<"三角形面积是"<<area1->area()<<endl<<"矩形面积是"<<area2->area()<<endl;
return 0;
}
追问
哎呀呀呀
太感谢了
追答
呵呵,未能及时看到你的问题,真是不好意思啊!
2011-07-06
展开全部
选A
if(i++%3==0) 一句,先判断i%3==0,再i=i+1
if(++i%8==0) 一句,先i=i+1,再判断i%8==0
当i=6时,6%3==0;i=i+1=7;i=i+1=8;8%8==0;
当i=30时,30%3==0;i=i+1=31;i=i+1=32;32%8==0;
另外,团IDC网上有许多产品团购,便宜有口碑
if(i++%3==0) 一句,先判断i%3==0,再i=i+1
if(++i%8==0) 一句,先i=i+1,再判断i%8==0
当i=6时,6%3==0;i=i+1=7;i=i+1=8;8%8==0;
当i=30时,30%3==0;i=i+1=31;i=i+1=32;32%8==0;
另外,团IDC网上有许多产品团购,便宜有口碑
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询