帮我看看这个C++程序(矩阵乘法,对*进行重载)哪些地方有问题,运行通过给分

#include<iostream>#include<iomanip>usingnamespacestd;classmatrix{private:doublea[10][... #include <iostream>
#include <iomanip>
using namespace std;
class matrix{
private:
double a[10][10];
public:
matrix(){for(int i=0;i<10;i++){
for(int j=0;j<10;j++)a[i][j]=0;
}
for(int k=0;k<=9;k++)a[k][k]=1;
}
matrix(double d[10][10]);
void input();
void print();
matrix operator*(matrix);
};
void matrix::input(){for(int i=0;i<=9;i++){
for(int j=0;j<=9;j++){
cin>>a[i][j];
}}}
void matrix::print(){for(int i=0;i<10;i++){
for(int j=0;j<10;j++)cout<<a[i][j]<<setw(2);
cout<<'\n';
}}
matrix::matrix(double d[10][10]){for(int i=0;i<10;i++){
for(int j=0;j<10;j++)a[i][j]=d[i][j];
}
matrix matrix::operator*(matrix c){double d[10][10];
for(int i=0;i<10;i++){
for(int j=0;j<10;j++){
for(int k=0;k<=9;k++)d[i][j]+=a[i][k]*c.a[k][j];
}}
matrix temp(d);
return temp;
}
matrix A,B;
void main(){
A.input();
B.input();
matrix D(A*B.a);
D.print();
}
展开
 我来答
穷图末录
2013-12-17 · TA获得超过457个赞
知道小有建树答主
回答量:337
采纳率:100%
帮助的人:154万
展开全部
matrix::matrix(double d[10][10]){for(int i=0;i<10;i++){ for(int j=0;j<10;j++)a[i][j]=d[i][j];}
}//少了谈败一个右大括号

 重载乘烂侍简法函数的上面这个构造函数最后少饥裤了大括号,编译器认为构造函数还没有结束,你就开始了新的函数定义,是错误的

追问
看来要注意细节啊,不过这个程序还有其他问题,我就自己解决吧,谢谢
耳东小七
2013-12-17 · TA获得超过910个赞
知道小有建树答主
回答量:676
采纳率:0%
帮助的人:493万
展开全部

更多追问追答
追问
这里不是在类体外定义函数吗?不是声明
追答
这个是重载函数,这里的意思是重载是不合法的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式