首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件ptoj3,此工程中包含一个源程序文件proj3.cpp,其功能是从文本文件in.dat中读取全部整数,将整数序列存放到intArray类的对象中,然后建立另一对象myArray,将对象内容赋值给myArray。类intAr
请打开考生文件夹下的解决方案文件ptoj3,此工程中包含一个源程序文件proj3.cpp,其功能是从文本文件in.dat中读取全部整数,将整数序列存放到intArray类的对象中,然后建立另一对象myArray,将对象内容赋值给myArray。类intAr
admin
2021-07-02
53
问题
请打开考生文件夹下的解决方案文件ptoj3,此工程中包含一个源程序文件proj3.cpp,其功能是从文本文件in.dat中读取全部整数,将整数序列存放到intArray类的对象中,然后建立另一对象myArray,将对象内容赋值给myArray。类intArray重载了“=”运算符。程序中给出了一个测试数据文件input,不超过300个的整数。程序的输出是:
10
11
13
16
20
要求:
补充编制的内容写在“//**********333**********”与“//********666********”之间。实现重载赋值运算符函数,并将赋值结果在屏幕输出。格式不限。不得修改程序的其他部分。
注意:程序最后将结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件,并且在本程序中调用。
//intArray.h
class intArray
{
private:
int * array;
int length;
public:
intArray(char * filename);
intArray();
intArray & operator=( const intArray & src);
~intArray();
void show();
};
void writeToFile(const char * path);
//main.cpp
#include<iostream>
#include<fstream>
#include<cstring>
#include"intArray.h"
using namespace std;
intArray::intArray()
{
length=10;
array=new int[length];
}
intArray:: intArray (char * filename)
{
ifstream myFile(filename);
array=new int[300];
length=0;
while(myFile>>array[length++])
length--;
myFile.close();
}
intArray& intArray::operator=(const intArray & src)
{
if(array!=NULL)delete[]array;
length=src.length;
array=new int[length];
//*************333***********
//************666***********
return * this;
}
intArray::~intArray()
{
delete[]array;
}
void intArray::show()
{
int step=0;
for(int i=0;i<length;i=i+step)
{
cout<<array
<<endl;
step++;
}
}
void main()
{
intArray * arrayP=new intArray("input.dat");
intArray myArray;
myArray=* arrayP;
(* arrayP).show();
delete arrayP;
writeToFile("");
}
选项
答案
1 for(int i=0;i <length;i++) //遍历对象src中的数组array, 然后依次把值放进数组arrav中 2 array[i] =src.array[i];
解析
主要考查考生对运算符重载的掌握,该函数要重载运算符“=”,该运算符的意思是赋值。先看该函数的其他语句:
if(array!=NULL)delete[]array;
length=src.length;
array=new int[1ength];
第一条语句是把原来动态数组释放,第二条语句是把形参src的成员length赋值给变量length,第三条语句是给指针array分配内存。接下来要把动态数组中的值逐个赋给array数组,在这里使用for循环语句,循环变量i的范围是0~length,并进行赋值操作。
转载请注明原文地址:https://kaotiyun.com/show/kefp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下类定义:classTest{intx一,y一;public:Test():a=(0),b—f0){}Test(inta,intb=0):a=(a),b=(b){));若
下列有关内联函数的叙述中,正确的是()。
有如下程序:#inc1ude<iostream>usingnamespacestd;c1assPoint{intx,y;public:Point(intx1=0,inty1=0):x
数据库系统的核心是()。
有两个关系R和T如下:则由关系R得到关系T的操作是()。
当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为()。
层次型、网状型和关系型数据库划分原则是()。
下列语句中,错误的是()。
两个或两个以上的模块之间关联的紧密程度称为()。
C++系统预定义了4个用于标准数据流的对象,下列选项中不属于此类对象的是()。
随机试题
水是人体内含量最多的一种成分。()
膨胀机的出口扩压器的作用是()。
A.既能宁神益智,又能补脾益肺B.既能宁心安神,又能止泻止汗C.既能宁心安神,又能祛痰开窍D.既能宁心安神,又能健脾利水E.既能定惊安神,又能利尿通淋
关于声强的表述中,不正确的是
职业性多发病的定义为
基础的偏心距e与下列( )项值接近。软弱下卧层顶面处自重压力与下列( )项值接近。
案例Y省Q市某铝厂公司占地面积10万多平方米,年生产能力超过8×104t,拥有6条具有世界先进水平——同水平密排热顶铸造技术的熔铸生产线,20条挤压生产线,3条氧化电泳生产线,2条德国进口的喷涂生产线及1条隔热型材生产线;拥有价值数百万元的完善的检测设备
某固定资产原价为15万元,预计净残值为6000元,使用年限为10年。若采用年数总和法计算折旧,则第5年的折旧额为()元。
李某工资和奖金应纳个人所得税为()元。李某从企业借款应纳个人所得税为()元。
由于生产力和生产关系,经济基础和上层建筑还存在一系列的矛盾,因此,我国必须进行社会主义改革。当前我国进行的社会主义改革的性质是()。
最新回复
(
0
)