这个程序运行出来没有结果~我不知道怎么回事,请赐教。。。

#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;
}

 
											





 
	    



 
											

