首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用“答题”菜单或使用VC6打开考生文件夹下proj3下的工程proj3,其中声明了Matrix类,是一个用于表示矩阵的类。operator+的功能是实现两个矩阵的加法运算。例如,若有两个3行3列的矩阵 则A与B相加的和为 请编写operator函数
请使用“答题”菜单或使用VC6打开考生文件夹下proj3下的工程proj3,其中声明了Matrix类,是一个用于表示矩阵的类。operator+的功能是实现两个矩阵的加法运算。例如,若有两个3行3列的矩阵 则A与B相加的和为 请编写operator函数
admin
2015-06-27
34
问题
请使用“答题”菜单或使用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://kaotiyun.com/show/9xNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在C++中,设置虚基类的目的是【】。
已知outfile是一个输出流对象,要想将outfile的文件指针定位到当前位置之前321字节处,正确的函数调用语句是______。
设有以下定义和程序:#include<iostream.h>classA1{public:voidshow1(){cout<<"classA1"<<endl;}};classA2:
下列说法中错误的是()。
有如下程序:#include<iostream>usingnamespacestd;intmain(){int*p;*p=9;cout<<"Thevalueatp:"<<*p;r
假定MyClass为一个类,则该类的拷贝构造函数的声明语句为()。
两个或两个以上模块之间关联的紧密程度称为()。
已知类X的定义如下,为了实现将对象成员k的值修改为678,下面的哪条语句是正确的______。classX{private:intk;public:K(intn){k=n;}s
使用操作符setw对数据进行格式输出时,需要包含______头文件。
在C++中,打开一个文件,就是将这个文件与一个()建立关联;关闭一个文件,就是取消这种关联。
随机试题
当a=4,b=5,c=7,d=6时,执行下面一段程序:if(a<b)if(c<d)x=1;elseif(a<c)if(b<c)x=2;el
同一债权既有保证又有债务人提供的物的担保的,()。A.由保证人先行承担保证责任B.保证人不再承担保证责任C.保证人仅对物的担保以外的债权承担保证责任D.该债权受双重担保
下列关于尿糖的说明中,哪一项是正确的
用攻下逐水法治疗鼓胀是
王某,青年男性。腰膝痠软,劳累后疼痛,伴有五心烦热,失眠健忘,咽干口燥,舌红少苔,脉细数无力。治疗最合适的方剂是
劳动合同的解除包括()
下列属于积极的财政政策措施的是()。
法的评价作用的对象是()。
在软件开发中,需求分析阶段可以使用的工具是()。
WhatdocsthemanimplyaboutMary?
最新回复
(
0
)