首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,要求编写一个CMyShape类,含有求面积求周长等纯虚函数。然后编写一个CMyRectangle类和CMyCircle类继承CMyShape,并实现求面积、求周长的两个函数。在main()i~数中测
使用VC6打开考生文件夹下的源程序文件modi3.cpp,要求编写一个CMyShape类,含有求面积求周长等纯虚函数。然后编写一个CMyRectangle类和CMyCircle类继承CMyShape,并实现求面积、求周长的两个函数。在main()i~数中测
admin
2017-09-20
46
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp,要求编写一个CMyShape类,含有求面积求周长等纯虚函数。然后编写一个CMyRectangle类和CMyCircle类继承CMyShape,并实现求面积、求周长的两个函数。在main()i~数中测试得到下面的结果:
在CMyShape类构函数造内
在CMyCircle类构造函数内
在CMyShape类构造函数内
在CMyRectangle类构造函数内
myCircle:Area=3 14.1 59 Girth=62.83 19
myRectangle:Area==900 Girth==120
具体要求如下:
(1)定义求面积纯虚函数,请在注释∥********1********之处添加适当的语句。
(2)定义求周长纯虚函数,请在注释∥********2********之处添加适当的语句。
(3)请在注释∥********3********和∥********4********之处添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
#include
#include
#define PI 3.1415926
clas S CMyPoint
{
public:
int x,y;
CMyPoint(int tx,int ty):
X(tx),Y(ty)f}
};
class CMyShape
{
public:
CMyShape(){cout<<“在CMyShape类构造函数内”<
∥********1********
∥********2********
protected:
};
class CMyCircle:public CmyShape
{
public:
CMyCircle(CMyPoint i,double
j):CMyShape(),arcCenter(i),
radius(j){
cout<<“在CMyCircle类构造函数内”<
}
double GetArea()
{
return PI*radius*radius ;
}
double GetGirth()
{
return 2*PI*radius;
}
private:
CMyPoint arcCenter;
double radius;
};
class CMyRectangle:public
CmyShape
{
public:
CMyRectangle(CMyPoint
it,CMyPoint rb):leftTop(it),
rightBottom(rb),CMyShape(){
cout<<“在CMyRectangle类构造函数内”<
}
Double GetArea()
{
Int width=abS
(rightBottom.x—leftTop.x);
int height=abs
(rightBottom.y—leftTop.y);
Return width*height;
}
double GetGirth()
{
int width=abS
(rightB0ttom.X—leftTop.x);
int height=abs
(rightBottom.y—leftTop.y);
return 2*(width+height);
}
private:
CMyPoint leftTop,rightBottom;
};
void main()
{
CMyShape *myShape=NULL;
CMyCircle *myCircle=new
CMyCircle(CMyPoint(5,5),10);
CMyRectangle*myRectangle=
new CMyRectangle(CMyPoint(0,0),CMyPoint(30,30));
∥********3********
cout<<“myCi rcle:”<<“Area=”
<
GetArea()<<“\t”
<<“Girth=”<
GetGirth()<
∥********4********
cout<<”myRectangle:”<<”Are a=“<
GetArea()<<“\t,,
<<“Girth=”<
GetGirth()<
}
选项
答案
(1)添加语句:virtual double GetArea()=0; (2)添加语句:virtual double GetGirth()=0; (3)添加语句:myshape=mycircle; (4)添加语句:myshape=myRectanqle;
解析
类CMyPoint含有成员变量x和y,抽象基类CMyShape含有两个虚函数GetArea0和GetGirth0,分别用来求图形的面积和周长。类CMyRectangle和类CMyCircle派生于类CMyShape,并都实现了抽象父类的纯虚函数,通过这两个函数可分别求得矩形的面积和周长以及圆的面积和周长。
转载请注明原文地址:https://kaotiyun.com/show/pUAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
设有定义char str[80];以下不能将输入数据first\nsecond\n<CR>读取到数组str中的语句是
设有如图所示的二叉树则对该二叉树前序遍历的结果是
下列数据结构中按“先进先出”原则组织数据的是
下列程序的输出结果为2,请将程序补充完整。#include<iostream>usingnamespacestd;classBase{public:______voidfun(){cout<<
若有函数fun(x,y),并且已经使函数指针变量p指向函数fun,则使用p调用函数fun的方法是______。
将下列程序写成三目运算表达式是()。if(x<y)min=x;elsemin=y;
下列函数的功能是判断字符串str是否对称,对称则返回true,否则返回false。请在横线处填上适当内容,实现该函数。Boo1fun(char*str){inti=0,j=0;while(str[j]j++;f
将x+y*z中的“+”用成员函数重载,“*”用友元函数重载应写为()。
下列打开文件的表达式中,错误的是()。
以下程序的执行结果是_______。#include<iostream.h>#include<fstream.h>#include<stdlib.h>voidmain(){charch:fstre
随机试题
下列关于量值传递与量值溯源的叙述中,错误的是____________。
A.国内供应不足的药品B.新发现和从国外引种的药材C.有关部门规定的生物制品D.生产新药或已有国家标准的药品E.没有实施批准文号管理的中药材根据《中华人民共和国药品管理法》规定,国务院药品监督管理部门有权限制或者禁止出口的是
下列不属于火炸药爆炸影响因素的是()。
采用直立桅杆吊装设备,选择桅杆的长度时应考虑的因素有()。
通常在价格暴涨或暴跌时出现的缺口,称为()。
下列说法中错误的是()。
资料一2005年,王浩在大学就读时将自己毕业论文的题目定为“直升机自主悬停技术”,终于在2006年1月成功做出了第一台样品,并在航拍爱好者中广受好评。王浩开始了自主创业,他同两位一起做实验课题的伙伴,共同创立了天志公司,主营业务围绕航模
有的哲学家说,在大风扬起的尘土中,每一粒尘土的运动状况都是纯粹必然的。这是一种()。
阅读下面语句,则程序的执行结果是【】。#include"stdio.h"main(){inta=-1,b=1,k;if((++a<0)&&!(b--<=0))printf("%d,%d\
A、Fruit,waterandinsects.B、Plantsandwater.C、Highplantsandfood.D、Plantsandfood.D短文谈到,所有的鸟都需要植物来做巢,也需要食物,人们的院子可以提供这些东
最新回复
(
0
)