C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 C++ 的核心特性,通常被称为用户定义的类型。类用于指定对象的形式,它包含了数据表示法和用于处理数据的方法。类中的数据和方法称为类的成员。函数在一个类中被称为类的成员。本次类实现一个矩阵类,基本定义如下:
class RMatrix
{
private:
int rw; //矩阵行数目
int rc; //矩阵列数目
float *elmSet; //矩阵元素集合,其中 elmSet[i*rc+j]代表第i行,第j列的元素值
public:
RMatrix(); //构造函数,令rw=0,rc=0,elmSet=0
RMatrix(int row, int col); //构造函数,令rw=row,rc=col,elmSet=new float[row*col] 元素值全为0
~RMatrix(); //析构函数,如果elmSet!=0,则delete [] elmSet
float GetElem(int i, int j); //得到矩阵的元素值
void SetElem(int i, int j, float value); //设定矩阵的元素值,
int GetRow(); //得到矩阵的行数目,
int GetCol(); //得到矩阵的列数目,
void AugumentMatrix(); //对当前矩阵进行增广操作(即在右侧增加一列,该列的值全为0)
}
要求:
1) 初始化一个3*3的矩阵,并初始化其对角线上的值为1,其他值为0
2) 打印输出该矩阵来验证初始化结果是否准确
3) 调用AugumentMatrix,再打印输出该矩阵来验证初始化结果是否准确
RMatrix :: RMatrix(){rw=0;rc=0;elmSet=0;}
RMatrix :: RMatrix(int row, int col){rw=row;rc=col;elmSet=new float[row*col];}
RMatrix :: ~RMatrix(){
for(int i=0;i<=rw*rc;++i){
if(elmSet!=0){
delete [] elmSet;
}
}
}
float RMatrix :: GetElem(int i, int j){
for(int m=1;m<=i;++m){
for(int n=1;n<=j;++n){
cout<<elmSet[m*i+n];
if(n==j) cout<<endl;
}
}
}
void RMatrix :: SetElem(int i, int j, float value){
for(int m=1;m<=i;++m){
for(int n=1;n<=j;++n){
if(m==n) elmSet[m*i+n]=value;
}
}
}
int RMatrix :: GetRow(){
int row;
row=rw;
return row;
}
int RMatrix :: GetCol(){
int col;
col=rc;
return col;
}
int main(){
int rw=3;
int rc=3;
float value=1.0f;
RMatrix();
RMatrix(rw, rc);
SetElem(rw, rc,**value**);
GetElem(rw, rc);
}
显示SetElem 和GetElem was not declared in this scope,想问一下这个该怎么调整。