首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用菜单命令或直接用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
73
问题
请使用菜单命令或直接用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全国计算机二级
相关试题推荐
己知类Myclass的定义如下:classMyClass{public:MyClass(intd){data=d;)~MyClass0{}private:intdata;
在下列原型所示的C++函数中,按“传值”方式传递参数的是()。
已知类MyClass声明如下;classMyClass{intn:public:MyClass(intk):n(k){}intgetValue()const{return
下列字符串中可以用作C++标识符的是()。
有如下程序:#inc1ude<iostream>usingnamespacestd;c1assBase{intx:public;Base{intw=0};x(n){cout<<n;}
下列对于软件测试的描述中正确的是()。
设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为()。
若要对类BigNumber中重载的类型转换运算符long进行声明,下列选项中正确的是()。
从工程管理角度看,软件设计一般分为两步完成,它们是()。
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错,请改正其中的错误,使得程序正常运行,并使程序输出的结果为:Hello注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//******error**
随机试题
在轴承的直径系列名称及代号中,属于重型推力和推力向心轴承的是()。
患者,女,25岁,右足癣并感染1周,2天前开始出现右小腿有片状红疹,颜色鲜红,中间较淡,边缘清楚,右腹股沟淋巴结肿大。该患者可能的诊断是
(操作员:张主管;账套:101账套;操作日期:2015年1月1日)设置账套的凭证类型,其中银收凭证类型设置如下:编码:银收名称:银行收款凭证格式:收款凭证借方必有科目:1002
下列关于价格策略的说法中,正确的有()。
以下各项中,应计入增值税一般纳税人认定标准的“年应税销售额”的有()。
2013年1月,DEF会计师事务所与XYZ会计师事务所合并成立ABC会计师事务所,相关事项如下:(1)ABC会计师事务所以“强强联手,服务最优”为主题在多家媒体刊登广告,宣传两家会计师事务所的合并事宜。(2)ABC会计师事务所提出了扩大鉴证业务市场份额
导游员同旅游者(团)相处,是选择轮型沟通还是星型沟通,一般视沟通的()而定。
请你联系实际,谈谈在市场经济条件下如何做好我省财政工作?
A.膝腱反射改变B.跟腱反射改变C.两者均有D.两者均无L5~S1间盘突出
相互作用论的基本观点是()
最新回复
(
0
)