
編譯通過了
#include <iostream>
using namespace std;
class Array{
int ar[2][3];
public:
Array(){}
Array(int aa[][3] );
void show( )
{
for(int j=0;j<2;j++)
{ for(int i=0;i<3;i++)
{ cout<<ar[j][i]<<'\t';}
cout<<'\n';
}}
Array operator ^(Array &);
} ;
Array::Array(int aa[][3])
{
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<2;j++)
{ar[j][i]=aa[j][i];}
}
}
Array Array::operator ^(Array &c2)
{
Array c;
int i,j;
for(i=0;i<3;i++)
{
for( j=0;j<2;j++)
{ c.ar[i][j]=ar[i][j]^c2.ar[i][j];}
}
return c.ar;
}
int main()
{ int i,j;
int a[2][3];
int b[2][3];
for(i=0;i<3;i++)
{
for(j=0;j<2;j++)
{cin>>a[i][j];}
}
for(i=0;i<3;i++)
{
for(j=0;j<2;j++)
{cin>>b[i][j];}
}
Array A(a),B(b),C(A^B);
C.show();
return 0;
}
uj5u.com熱心網友回復:
Array Array::operator ^(Array &c2)這個回傳了一個臨時物件,會有問題的
uj5u.com熱心網友回復:
那要怎么解決呢?
uj5u.com熱心網友回復:
加一個拷貝建構式,和operator=uj5u.com熱心網友回復:
回傳臨時物件沒問題,回傳臨時物件的參考才有問題。。。。。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/63040.html
標籤:C++ 語言
