首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用“答题”菜单或使用VC6打开考生文件夹下proj3下的工程proj3,其中声明了Matrix类,是一个用于表示矩阵的类。operator+的功能是实现两个矩阵的加法运算。例如,若有两个3行3列的矩阵 则A与B相加的和为 请编写operator函数
请使用“答题”菜单或使用VC6打开考生文件夹下proj3下的工程proj3,其中声明了Matrix类,是一个用于表示矩阵的类。operator+的功能是实现两个矩阵的加法运算。例如,若有两个3行3列的矩阵 则A与B相加的和为 请编写operator函数
admin
2015-06-27
55
问题
请使用“答题”菜单或使用VC6打开考生文件夹下proj3下的工程proj3,其中声明了Matrix类,是一个用于表示矩阵的类。operator+的功能是实现两个矩阵的加法运算。例如,若有两个3行3列的矩阵
则A与B相加的和为
请编写operator函数。
要求:
补充编制的内容写在//**********333**********//**********666**********两行之间。不得修改程序的其他部分。
注意:
程序最后已经将结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件,并且在本程序中调用。
#include
#include"Matrix.h"
voidreadFromFile(constchar*filename,Matrix&m)
{
ifstreaminfile(filename);
if(!infile){
cerr<<"无法读取输入数据文件!\n";
return;
}
intd;
for(inti=0;i
for(intj=0;j
infile>>d;
m.setElement(i,j,d);
}
}
Matrixoperator+(constMatrix&m1,
constMatrix&m2)
{
Matrixsum;//用来保存相加的结果
//********333********
//********666********
returnsum;
}
intmain()
{
Matrixm1,m2,sum;
readFromFile("c:\\test\\in1.dat",m1);
readFromFile("c:\\test\\in2.dat",m2);
sum=m1+m2;
m1.show("Matrixml:");
m2.show("Matrixm2:");
sum.show("Matrixsum=m1+m2:");
writeToFile("c:\\test\\",sum);
return0;
}
//proj3\Matrix.h
#include
#include
usingnamespacestd;
constintM=18;
constintN=18;
classMatrix{
intarray[M][N];
public:
Matrix(){}
intgetElement(inti,intj)const{
returnarray
[j];}
voidsetElement(inti,intj,intvalue){array
[j]=value;}
voidshow(constchar*s)const
{
cout<
for(inti=0;i
cout<
for(intj=0;j
cout<
[j];
}
}
};
voidreadFromFile(constchar*,Matrix&);
voidwriteToFile(char*,constMatrix&);
选项
答案
for(inti=0;i
解析
主要考查考生对重载运算符的掌握,函数operator+的功能是将形参中两个Matrix对象相加,返回一个新的Matrix对象,新对象的二维数组array的元素是形参中两个对象的二维数组array逐个元素之和。由于Matrix的array是私有成员,所以不能通过对象直接对array进行操作,必须通过成员函数getElement来获取两个对象array数组元素的值,再通过成员函数setElement来完成相加功能,结果保存在临时对象sum中,并返回。
转载请注明原文地址:https://www.kaotiyun.com/show/9xNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
软件文档是软件工程实施中的重要部分,它不仅是软件开发各阶段的重要依据,而且影响软件的______。
下面是关于派生类声明的开始部分,其中正确的是______。
若已定义,以下fun函数的功能是:在第一个循环中给前10个数组元素依次赋1、2、3、4、5、6、7、8、9、10;在第二个循环中使a数组前10个元素中的值对称折叠,变成1、2、3、4、5、5、4、3、2、1。请填空。fun(inta[])
通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为【】。
下列有关指针的用法中错误的是()。
假定一个二维数组的定义为“inta[3][5];”,则该数组所含元素的个数为【】,所占字节存储空间的字节数为【】。
函数模板______。
结构化程序设计主要强调的是______。
对于下面定义的类MyClass,在函数f()中将对象成员n的值修改为50的语句应该是()。classMyClass{public:MyClass(intx){n=x;}voidSetNum(intn
在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是
随机试题
相比于其他全球卫星导航系统采取单一轨道星座构型,北斗系统________,坚定选择了混合星座的特色发展之路,并首创短文通报模式,开创了通信导航一体化的独特服务模式,信息发送能力从一次120个汉字提升到一次1200个汉字,遇到突发情况时无须________,
患者男,44岁。反复咳嗽,咳痰5年,既往吸烟史10年,查体见桶状胸,可闻及干湿啰音。患者可诊断为
与胸部CT扫描技术无关的是
患儿,男,1岁。患婴幼儿腹泻2天,泻下急迫,大便呈稀水蛋花样,有黏液及腥臭味,伴阵发啼哭,发热,烦躁,口渴,困倦,小便短赤,肛门灼热、发红。其证型是
热力发电厂中,汽轮机是将()的旋转式原动机。
油品装卸时严禁使用铁器敲击罐口,同时要控制油品流速,不应超过()m/s。
关于可转换债券的期限,下列说法正确的是()
某甲17周岁,已参加工作,有固定收入,某日因某甲在街上寻衅滋事,将某乙打伤,某乙要求赔偿医药费,对此下列表述哪些不正确?()
下列哪项不属于胆汁的作用
拜占庭帝国的鼎盛时期是在()。
最新回复
(
0
)