首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用菜单命令或直接用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
45
问题
请使用菜单命令或直接用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全国计算机二级
相关试题推荐
有如下类定义:classTest{public:Test(){a=0;c=0;}//①intf(inta)eonst{this->a=a;}//②staticintg(){retuma
请打开考生文件夹下的解决方案文件proj1,该工程中含有一个源程序文件proj1.cpp。其中位于每个注释“//ERROR****found****”之后的一行语句有错误。请改正这些错误,使程序的输出结果为:注意:只能修改注释“//ERROR**
请打开考生文件夹下的解决方案文件proj3,其中声明的DataList类,是一个用于表示数据表的类。DataList的重载运算符函数operator+,其功能是求当前数据表与另一个相同长度的数据表之和;即它返回一个数据表,其每个元素等于相应两个数据表对应元
有如下程序:#include<iostream>usingnamespacestd;classTestClass{protected:TestClass(){cout<<’x’;}TestClass(charc){cout<<c;}}
在数据库设计中,将E一R图转换成关系数据模型的过程属于()。
若MyClass为一个类,执行“MyClassa[4],宰p[5];"语句时会自动调用该类构造函数的次数是()。
某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是()。
将运算符“+”重载为非成员函数,下列原型声明中,错误的是()。
Sample是一个类,执行下面语句后,调用Sample类的构造函数的次数是,()。Samplea[2],*P=newSample;
在E-R图中,用来表示实体的图形是()。
随机试题
核医学的定义是
城市排水体制的选择主要表现在()。①环境保护方面比较;②排水管、渠系统规划布局方面的比较;③工程投资方面比较;④近远期关系方面比较;⑤施工管理方面比较
根据《水利水电工程合理使用年限及耐久性设计规范》SL654--2014,下列环境条件中,水工建筑物所处的侵蚀环境类别为二类的是()。
竣工验收阶段建设监理工作的主要任务包括()。
自然保护区核心区外围可以划定一定面积的缓冲区。该区可以进入从事()活动。
李某欲设立一家公司,但无奈资金不足,为此便向好友冯某借款50万元,为期两年。双方签订了书面借款合同,约定了借款用途、数额、期限和还款方式等内容,但并未对利息支付作出约定。****冯某要求李某为此借款合同提供担保,李某便请求另外两位好友王某和张某分别提供了
东方航空公司实行对教师机票六五折优惠,这实际上是吸引乘客的一种经营策略,该航空公司并没有实际让利,因为当某天航班的满员率超过90%时,就停售当天优惠价机票,而即使在高峰期,航班的满员率也很少超过90%。有座位空着,何不以优惠价促销它呢?以下哪项如果为真,将
某信息系统集成公司,根据市场需要从2013年初开始进入信息系统运营服务领域。公司为了加强管理,提高运营服务能力,企业通过了GB/T24405.1-2009idtISO20000-1:2005认证。2013年12月该公司与政府部门就某智能交通管理信
在汇编语言程序设计中,若调用不在本模块中的过程,则对该过程必须用伪操作命令 ( )说明。
私の作った餃子を食べてみて()。
最新回复
(
0
)