这个程序运行出来没有结果~我不知道怎么回事,请赐教。。。
#include "stdafx.h"
#include<iostream>
using namespace std;
class Matris
{
private:
int row,cols,**p;
public:
Matris(int a,int b):row(a),cols(b){}
Matris();
~Matris();
void set_matris();
Matris operator*(Matris &);
void show_matrix();
};
Matris::Matris()
{
p=new int *[row];
for(int i=0;i<cols;i++)
p[i]=new int [cols];
}
Matris::~Matris()
{
for(int i=0;i<cols;i++)
delete [] p[i];
delete [] p;
}
void Matris::set_matris()
{
for(int i=0;i<row;i++)
for(int j=0;j<cols;j++)
cin>>p[i][j];
}
Matris Matris::operator *(Matris & a)
{
Matris c;
if(this->cols==a.row)
{
for(int i=0;i<this->row;i++)
for(int j=0;j<a.cols;j++)
for(int k=0;k<this->cols;k++)
c.p[i][j]=c.p[i][j] + this->p[i][k]*a.p[k][j];
}
return c;
}
void Matris::show_matrix()
{
for(int i=0;i<row;i++)
for(int j=0;j<cols;j++)
cout<<p[i][j]<<" ";
cout<<endl;
}
int main()
{
Matris a(2,3),b(3,2),c;
a.set_matris();
b.set_matris();
a.show_matrix();
cout<<"*********";
b.show_matrix();
cout<<"************";
c=a*b;
c.show_matrix();
return 0;
}