首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用菜单命令或直接用VC6打开考生文件夹下的工程prj03。请完善下列程序,实现一个Number类。Add函数计算2个Number类对象之和,并将和作为Number对象返回。这2个Number对象中各包含一个用字符串表示的10进制正整数,均不超过int的
请使用菜单命令或直接用VC6打开考生文件夹下的工程prj03。请完善下列程序,实现一个Number类。Add函数计算2个Number类对象之和,并将和作为Number对象返回。这2个Number对象中各包含一个用字符串表示的10进制正整数,均不超过int的
admin
2019-06-05
52
问题
请使用菜单命令或直接用VC6打开考生文件夹下的工程prj03。请完善下列程序,实现一个Number类。Add函数计算2个Number类对象之和,并将和作为Number对象返回。这2个Number对象中各包含一个用字符串表示的10进制正整数,均不超过int的表示范围。在main函数中给出了一组测试数据,使用这组数据进行测试时程序的输出应该是:100
注意:只需在//**********333**********//**********666**********之间填入所编写的若干语句,不要改动程
序中的其他内容。
#include
#include
#include
#include”proj 3.h”
using namespace std;
Number::Number(char木n){
num=new char[strlen(n)+1];
strcpy(num,n);
}
Number::Number(Number&n){
num=new char[strlen(n.num)+1];
strcpy(num,n.num);
}
Number::Number(int n){
char*tmp=new char[30];
itoa(n,tmp,i0); //函数itoa的功能是将n转换为字符串,存放于tmp指向的敷组中
num=new char[strlen(tmp)+1];
strcpy(num,tmp);
}
Number::一Number(){
if(num)
delete[]num;
}
Number Number::Add(Number n)f
//**********333**********
}
//**********666**********
}
int main(){
Number numl(“32”);
Number num2(“68”);
Number&num3=numl.Add(hum2);
cout<
writeToFile(“C:\test V”);
return 0;
}
//proj 3 t proj 3.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);
解析
本题考查的是Number类,其中涉及C语言的库函数、构造函数的使用、成员函数的使用。
【解题思路】
主要考查考生对库函数、对象成员和构造函数使用的掌握情况,函数Add的功能是将函数参数n与自身相加,返回相加后的Number对象,Number类中成员字符串。aura是用来表示十进制的整数,所以将两个Number相加需要首先将字符串aura转化为整数,这里需要使用库函数atoi,将调用对象的hum和对象n的aura转化为十进制整数i,j,在转化对象n的aura成员时,由于hum是Number类的私有成员,所以不能直接使用,而应该通过成员函数GetNum()返回num;得到十进制数i、j后,再用i与j的和构造成Number对象,所以需要使用Number的参数为整数的构造函数,即Number’(int i),构造Number对象后返回。
转载请注明原文地址:https://kaotiyun.com/show/d18p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面关于函数模板的表述中不正确的是()。A)类模板的成员函数都是模板函数B)类模板本身在编译过程中不会产生任何代码C)类模板只能有虚拟类型的参数D)用类模板定义一个对象时,实参不能省略
设程序如下:#include<iostream>usingnamespacestd;intmain(){int**p,*q,r=10;q=&r;p=&q;cout<<**p+1<<en
有如下定义:intb[10]={1,2,3,4,5,6,7,8,9,10},*q=b;则数值为8的表达式是()。A)*q+8B)*(q+7)C)*q+=8D)q+7
下列哪种数据模型可以用树形结构来表示实体之间联系()。A)网状模型B)数据模型C)关系模型D)层次模型
在下面程序的横线处填上适当的语句,使程序执行后的输出结果为ABCD。#include<iostream>usingnamespacestd;classA{public:A(){cout<<’A’;}
A、 B、 C、 D、 C软件的生命周期可分为软件定义、软件开发及软件运行维护三个阶段。其中软件定义阶段的主要工作有可行性研究与计划制订和需求分析等;软件开发阶段的主要工作有概要设计、详细设计和测试等;软件运
请在横线处填写派生类Derived的继承方式,使得程序的输出结果为Base。#include<iostream>usingnamespacestd;classBase{public:voidprint(){c
若要对Data类中重载的加法运算符成员函数进行声明,下列选项中正确的是()。A)Data+(DatA);B)Dataoperator+{Data};C)Data+operator{Data};D)operator+(Data,D
若AA为一个类,a为该类的非静态数据成员,在该类的一个成员函数定义中访问a时,其书写格式为()。A)aB)AA.aC)a{}D)AA::a{}
在C++语言中,打开一个文件就是将这个文件与一个什么建立关联?
随机试题
我已经习惯了这种生活方式。
Afewminutesago,walkingbackfromlunch,IstartedtocrossthestreetwhenIheardthesoundofacoindropping.Itwasn’tm
脊柱的正常生理弯曲
侵蚀性葡萄胎和绒毛膜癌均可发生于()。
度冷丁为
简述消防应急照明和疏散指示系统的组成。
下面针对项目整体变更控制过程的叙述,不正确的是______。A.配置管理的相关活动贯穿整体变更控制始终B.整体变更控制过程主要体现在确定项目交付成果阶段C.整体变更控制过程贯穿于项目的始终D.整体变更控制的结果可能引起项目范围、项目管理计划、项目交
在以太网接收数据帧的过程中,目标站点应进行(51)检验。
Whatisthewomangoingtodothisafternoon?
A、Thedevelopmentofballoons.B、Theweatherballoons.C、Thehistoryofhumanbeingflying.D、Balloonsforrecreation.D本文介绍了spo
最新回复
(
0
)