ايران ويج

نسخه‌ی کامل: Overloading input/output
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام به همه دوستان من کد کلاس یک ماتریس رو نوشتم میخواهم دو عملگر << و >> را برای ان بارگذاری یا در اصل تعریف کنم میدانم که باید تعریف انها را به عنوان توابع دوست در تعریف کلاس ماتریس بیاورم اما نمیدانم چطور .لطفا مرا راهنمایی کنید
کد ماتریس:
کد:
#include <iostream>
#include<conio.h>
using namespace std;
class matrix
{
private:
int **m;
int rows,cols;
public:
matrix()
{
rows=5;
cols=5;
m=new int*[rows];
for(int i=0;i<rows;i++)
*(m+i)=new int[cols];
for (int i = 0; i < 5; i++)
for (int j = 0; j < 5; j++)
setValue(i, j,0);
}
matrix(int row,int col)
{
rows=row;
cols=col;
m=new int*[row];
for(int i=0;i<row;i++)
*(m+i)=new int[col];
}
~matrix()
{
delete []m;
}
void setValue(int i, int j,int value)
{
m[i][j] = value;
}
void showValues()
{
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
cout<<m[i][j]<<" , ";
cout<<endl;
}
}
matrix(const matrix& n)
{
rows=n.rows;
cols=n.cols;
m=n.m;
}
};

int main()
{
matrix m1;
m1.showValues();
cout<<endl;
matrix m2(3,4);
for (int i = 0; i < 3; i++)
for (int j = 0; j < 4; j++)
m2.setValue(i, j, i+j+2);//meghdare har deraieh an majmoee shomareh radif va sotonash ast
m2.showValues();
cout<<endl;
matrix m3(m2);
m3.showValues();
getch();
return 0;
}