问答题
请使用菜单命令或直接用VC6打开
下的工程prj03。请完善下列程序,实现一个Number类。Add函数计算2个Number类对象之和,并将和作为Number对象返回。这2个Number对象中各包含一个用字符串表示的10进制正整数,均不超过int的表示范围。在main函数中给出了一组测试数据,使用这组数据进行测试时程序的输出应该是:
100
注意:只需在//********333********和//********666********之间填入所编写的若干语句,不要改动程序中的其他内容。
#include<iostream>
#include<cstring>
#include<sstream>
#include "proj3.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, 10); //函数itoa的功能是将n转换为字符串,存放于tmp指向的数组中
num=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<<num3.GetNum();
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);