首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj2,其中有矩阵基类MatrixBase、矩阵类Matrix和单位阵UnitMatrix的定义,还有main函数的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为: 1 2
请打开考生文件夹下的解决方案文件proj2,其中有矩阵基类MatrixBase、矩阵类Matrix和单位阵UnitMatrix的定义,还有main函数的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为: 1 2
admin
2020-12-21
61
问题
请打开考生文件夹下的解决方案文件proj2,其中有矩阵基类MatrixBase、矩阵类Matrix和单位阵UnitMatrix的定义,还有main函数的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
1 0 0 0 0 0
0 1 0 0 0 0
0 0 1 0 0 0
0 0 0 1 0 0
0 0 0 0 l 0
0 0 0 0 0 1
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//****found****。
#include
using namespace std;
//矩阵基础类,一个抽象类
class MatrixBase{
int rows,cols;
public:
MatrixBase(int roWS,int cols):roWS(rOWS),cols(cols){}
int getRows()const{return rows;}//矩阵行数
int getCols()const{return cols;}//矩阵列数
virtual double getElement(int r,int c)const=0;//取第i个元素的值
void show()const{//分行显示矩阵中所有元素
for(int i=0;i
cout<<endl:
for(int j=0;j
//**********found**********
cout<<________<<““:
}
}
};
//矩阵类
class Matrix:public MatrixBase{
double*val:
public:
//**********found**********
Matrix(int rOWS,int cols,double m[]=NULL): ________}
//**********found**********
val=________;
for(int i=0;i<rows* cols;i++)
val
=(m==NULL?0.0:m
);
}
~Matrix(){delete[]val;}
double getElement(int r,int c)eonst{return val[r*getCols()+c];}
};
//单位阵(主对角线元素都是1,其余元素都是0的方阵)类
class UnitMatrix:public MatrixBase{
public:
UnitMatrix(int rows):MatrixBase(rows,rows){}
//单位阵行数列数相同
double getElement(int r,int c)const{
//**********found**********
if(________)return 1.0:
retulm 0.0;
}
};
int main(){
MatrixBase*m;
double d[][5]:{{l,2,3,4,5},{2,3,4,5,6},{3,4,5,6,7}};
m=new Matrix(3,5,(double*)d);
m->show();
delete m;
cout<<endl:
m=new UnitMatrix(6);
m->show();
delete m:
return 0;
}
选项
答案
(1)getElement(i,j) (2)MattixBase(rows,cols) (3)new double[rows*cols] (4)r==c
解析
本题考查MatrixBase类及其派生类Matrix和unitMatrix,其中涉及构造函数、const函数、纯虚函数、动态数组和析构函数。派生类的构造函数要涉及基类的初始化,因此必须使用成员初始化列表。动态数组要先使用new语句分配空间,再赋值(1)主要考查考生对纯虚函数的掌握,函数功能是分行显示矩阵中所有元素。因此在这里要输出行为i、列为j的元素,使用纯虚函数getElement(i,j)实现,输出语句为cout<
转载请注明原文地址:https://kaotiyun.com/show/bKyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列字符串中可以用作C++标识符的是
假定下列语句都是程序运行后首次执行的输出语句,其中输出结果与另外3条语句不同的语句是
有如下程序: #include<iostream> using namespace std; class Amount{ int amount; public: Amount(int n=0):amount(n)
有如下程序: #include<iostream> using namespace std; class Base { pubfic: Base(){cout<<"BB";
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:每卖出一个瓜,则计算瓜的重量,还要计算所有卖出瓜的总重量以及总个数,同时允许退货,请按照以下的操作,把类补充完整
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序,使该程序输出倒9×9口诀。程序分析:分行与列考虑,共9行9列,设置两个变量i和j,i控制行,j控制列。程序运行结果如下:1*9=9
负责数据库中查询操作的数据库语言是
下列关于类模板的模板参数的叙述中,错误的是()。
对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是
在学校中,“班级”与“学生”两个实体集之间的联系属于()关系。
随机试题
根据城市房产管理法,以出让或者拨划方式取得土地使用权,应当向县城以上地方人民政府土地管理部门申请登记,经县级以上地方人民政府土地管理部门核实,由()颁发土地使用权证书。
下列不能计入存货采购成本的有()。
入境动物及动物产品入境时应提供的有关证单有:( )
ABC公司研制成功一台新产品,现在需要决定是否大规模投产,有关资料如下:(1)公司的销售部门预计,如果每台定价3万元,销售量每年可以达到10000台;销售量不会逐年上升,但价格可以每年提高2%。生产部门预计,变动制造成本每台2.1万元,每年增加2%;
()是指婴儿与主要抚养者(通常是母亲)之间的最初的社会性联结。
现代计算机中采用二进制数制是因为二进制数的优点是()。
仲夏:五月()
总经理、总裁、首席执行官这样的头衔在现代商业中屡见不鲜。这些企业老总的头衔意味着什么?有人说意味着位高权重、腰缠万贯、交游广阔、傲慢自大甚至颐指气使。我虽然当总裁的时间不长,感受还不够深刻,但比隔岸观火要好很多。在我看来,成功的企业老总主要具备以下几种品质
“同心之言,其臭如兰。”句中“臭”的意思是()。
下列关于因特网的描述中,错误的是()。
最新回复
(
0
)