首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中有矩阵基类MatrixBase、矩阵类Matrix和单位阵UnitMatrix的定义,还有main函数的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中有矩阵基类MatrixBase、矩阵类Matrix和单位阵UnitMatrix的定义,还有main函数的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输
admin
2021-06-10
91
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中有矩阵基类MatrixBase、矩阵类Matrix和单位阵UnitMatrix的定义,还有main函数的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:
l 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 1 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<
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
val
=(m==NULL?0.0:m
);
}
~Matrix(){delete[]val;}
double getElement(int r,int c)const{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;
return 0.0;
}
};
int main(){
MatrixBase*m:
double d[][5]={{1,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<
m=new UnitMatrix(6);
m->show();
delete m;
return 0;
}
选项
答案
(1)getElement(i,j) (2)MatrixBase(rows,cols) (3)new double[rows*cols] (4)r==c
解析
(1)主要考查考生对纯虚函数的掌握,函数功能是分行显示矩阵中所有元素。因此在这里要输出行为i、列为j的元素,使用纯虚函数getElement(i,j)实现,输出语句为cout<
(2)主要考查考生对派生类的构造函数的掌握,派生类的构造函数使用成员列表初始化法,先对基类初始化。
(3)主要考查考生对动态数组的掌握,Val是double型指针,要给val赋值,就要先给它分配空间,应使用new来完成。
(4)主要考查考生对成员函数的掌握,因为要输出单位矩阵,只有满足条件r=c的元素为1.0,所以填写语句if(r=c)return 1.0;。
转载请注明原文地址:https://kaotiyun.com/show/H5fp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#includeusingnamespacestd;classAA{intn;public:AA(intk):n(k)()intget0{returnn;)
运算符重载时不需要保持的性质是()。
有如下程序:#includeusingnamespacestd;classA{public:A(inti=0):r1(i){}voidprint(){cout
以下数据结构中,属于非线性数据结构的是()。
有如下程序:撕ncludeusingnamespacestd;classAA{intk;protected:intn;voidsetK(intk){this一>k=k;}public:voidsetN(intn){thi
若有以下定义,说法错误的是()。inta=100,*p=&a;
若已定义了类Vehicle,则下列派生类定义中,错误的是()。
若MyClass为一个类,执行“MyClassa[4],*p[5];”语句时会自动调用该类构造函数的次数是()。
请使用VC6或使用【答题】菜单打开考生文件夹projl下的工程pmj1。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:value=63number=1注意:只修改每个“//ERR
下列选项中不属于软件生命周期开发阶段任务的是()。
随机试题
TheYangtzeRiveris______thePearlRiver.
有关体蒂的描述,正确的是()
A.腹膜炎出现早B.腹膜炎严重,呈板状腹C.腹膜炎出现较晚,但较重D.腹膜炎出现较晚且较轻E.无腹膜刺激征结肠破裂的表现是()
较常出现杵状指(趾)的呼吸系统疾病是
下列有关非处方药专有标识的说法,错误的是()。
法律与利益有密切关系,下列哪些选项正确说明了这两者之间的关系?
王某购买的商品房交付后,经检测室内空气质量不符合国家标准。预计王某治理空气污染的费用为5000元,并延迟入住3个月。当地类似商品房的月有效毛租金为3000元,运营费用占有效毛租金的15%。若月报酬率为0.5%,则室内空气质量不符合国家标准给王某造成的损失为
基坑(槽)回填土施工过程中,应查验的项目有()。
农民工的困境,表面上看是身份困境,实际上是公平正义规则不健全且运转不灵状态下的权利困境。解决这一难题,不妨从新型城镇化中找到一条渠道。虽说当前我国城镇化率已超过50%,但这种城镇化很大程度上是“低质城镇化”,人口城镇化和权利城镇化显然出现了脱钩,其中最有力
下面选项中的程序段,没有编译错误的是
最新回复
(
0
)