帮忙看下哪里错了
程序代码:
#include<iostream.h> class MAT { float **p; int row; int cloum; public: MAT(){} MAT(int r,int c) { row=r; cloum=c; p=new float *[row]; for(int i=0;i<row;i++) { p[i]=new float [cloum]; } } void getdata(); void display(); void operator-(); friend MAT operator+(MAT,MAT); friend MAT operator*(int ,MAT &); }; void MAT::getdata() { for(int i=0;i<row;i++) for(int j=0;j<cloum;j++) cin>>*((*p+i)+j); } void MAT::display() { for(int i=0;i<row;i++) { for(int j=0;j<cloum;j++) cout<<*((*p+i)+j)<<" "; cout<<endl; } cout<<endl; } MAT operator+(MAT s1,MAT s2) { MAT k(s1.row,s1.cloum); for(int i=0;i<k.row;i++) { for(int j=0;j<k.cloum;j++) k.p[i][j]=s1.p[i][j]+s2.p[i][j]; } return(k); } void MAT:: operator-() { for(int i=0;i<row;i++) { for(int j=0;j<cloum;j++) p[i][j]=-p[i][j]; } } MAT operator*(int a,MAT & s) { MAT k(s.row,s.cloum); for(int i=0;i<k.row;i++) { for(int j=0;j<k.cloum;j++) k.p[i][j]=a*s.p[i][j]; } return(k); } int main() { const int n=3; MAT t1(n,n),t2(n,n); cout<<"enter two "<<n<<"*"<<n<<" arrays:\n"; t1.getdata(); t2.getdata(); MAT t3,t4; -t2; t3=t1+t2; t4=2*t1; t2.display(); t3.display(); t4.display (); return 0; }就是运行的时候打印出来的有类似地址值的东西