首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用菜单命令或直接用VC6打开考生文件夹下的工程prj03。请完善下列程序,实现一个Number类。Add函数计算2个Number类对象之和,并将和作为Number对象返回。这2个Number对象中各包含一个用字符串表示的10进制正整数,均不超过int的
请使用菜单命令或直接用VC6打开考生文件夹下的工程prj03。请完善下列程序,实现一个Number类。Add函数计算2个Number类对象之和,并将和作为Number对象返回。这2个Number对象中各包含一个用字符串表示的10进制正整数,均不超过int的
admin
2021-06-10
40
问题
请使用菜单命令或直接用VC6打开考生文件夹下的工程prj03。请完善下列程序,实现一个Number类。Add函数计算2个Number类对象之和,并将和作为Number对象返回。这2个Number对象中各包含一个用字符串表示的10进制正整数,均不超过int的表示范围。在main函数中给出了一组测试数据,使用这组数据进行测试时程序的输出应该是:
100
注意:只需在//********333********和//********666********之间填入所编写的若干语句,不要改动程序中的其他内容。
#include
#include
#include
#include’’proj3.h’’
using namespace std;
Number::Number(char*n){
num=new char[strlen(n)+1];
strcpy(num,n);
}
Number::Number(Number&n){
Ruin=new char[strlen(n.num)+1];
strcpy(num,n.Bum);
}
Number::Number(int n){
char* tmp=new char[30];
itoa(n,tmp,10);//函数itoa的功能是将n转换为字符串,存放于tmp指向的数组中
Rum=new char[strlen(tmp)+1];
strcpy(num,tmp);
}
Number::~Number(){
if(num)
delete[]num;
}
Number Number::Add(Number n){
//****333****
//*******666******
}
nt main(){
Number num1(’’32’’);
Number num2(’’68’’);
Number&num3=num1.Add(num2);
cout<
writeToFile(’’c:\test\’’);
return 0;
}
//proj3\proj3.h
class Number{
private:
char*num;//具体数字,num[0]表示最高位的数
public:
~Number();
Number(char*n);
Number(Number & n);
Number(int n);
Number Add(Number n);
char*GetNum(){return num;}
};
void writeToFile(const char*path);
选项
答案
int i=atoi(hum); int j=atoi(n.GetNum()); return Number(i+j);
解析
主要考查考生对库函数、对象成员和构造函数使用的掌握情况,函数Add的功能是将函数参数n与自身相加,返回相加后的Number对象,Number类中成员字符串num是用来表示十进制的整数,所以将两个Number相加需要首先将字符串num转化为整数,这里需要使用库函数atoi,将调用对象的num和对象n的num转化为十进制整数i,j,在转化对象n的num成员时,由于num是Number类的私有成员,所以不能直接使用,而应该通过成员函数GetNum()返回num;得到十进制数i、j后,再用i与j的和构造成Number对象,所以需要使用Number的参数为整数的构造函数,即Number(int i),构造Number对象后返回。
转载请注明原文地址:https://kaotiyun.com/show/NVfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
已知TV是一个类,并有函数func定义如下:voidfunc(){TVli,*net[2],company[3];}则在调用func()后,TV类的析构函数被调用的次数是
下列关于return语句的叙述中,正确的是
请打开考生文件夹下的解决方案文件proj1,该工程含有一个源程序文件proj1.cpp。其中位于每个注释“//ERROR****found****”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为:Thevalueis10
请打开考生文件夹下的解决方案文件proj1,其中在编辑窗口内显示的主程序文件中定义有类AAA和主函数main。程序文本中位于每行“//ERROR****found****”下面的一行有错误,请加以改正。改正后程序的输出结果应该是:sum=60
从表中任何一个结点位置出发就可以不重复地访问到表中其他所有结点的链表是
己知Value是一个类,Value是Value的一个对象。下列以非成员函数形式重载的运算符函数原形中,正确的是()。
下面不属于需求分析阶段任务的是( )。
在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是()。
在数据管理技术发展的三个阶段中,数据共享最好的是()。
在深度为7的满二叉树中,叶子结点的个数为()。
随机试题
确定薪酬体系的基础是()。
把“三个代表”重要思想写进宪法、成为中国国家指导思想的重要会议是( )
饥饿时肝中活性增强的途径
在我国依法取得土地使用权的方式有()。Ⅰ.土地使用权出让Ⅱ.土地使用权转让Ⅲ.土地使用权划拨Ⅳ.土地使用权出租
距今七十万年至二十万年前的北京人已经掌握磨制和钻孔技术能人工取火()
校园招聘有什么优点,又有哪些不足?
你进单位之后,有四个同事:甲爱讲闲话,乙胆小怕事,爱推卸责任,丙恃才傲物,丁小心眼,只顾眼前利益,你如何与他们相处?
IfIhadrememberedclosethewindow,thethiefwouldnothavegotin.
【B1】______Oneofthemostimportantaspectsofdoingbusinessinternationallyisbeingabletospeakotherlanguages.Forth
TheFoodandDragAdministrationsaidonWednesdaythatitistryingtotrackdownasmanyas386pigletsthatmayhavebeengen
最新回复
(
0
)