# include & lt memory & gt
# include & ltassert.h & gt
Class _ array
{
int m _ ary[ 10];
Public:
_array()
{
memset(m_ary,0,sizeof(m _ ary));
}
_array(int ary[ 10])
{
memcpy(m_ary,ary,sizeof(m _ ary));
}
_ array(_ array & amp; ary)
{
memcpy(m_ary,ary.m_ary,sizeof(m _ ary));
}
_ array & ampoperator =(_ array & amp; ary)
{
If (this = =&ary)
Return * this
memcpy(m_ary,ary.m_ary,sizeof(m _ ary));
Return * this
}
Boolean operator = = (_ array &; ary){
for(int I = 0; I< 10; i++)
{
if(ary.m_ary[i]! = m_ary[i])
Returns false
}
Return true
}
Int operator [] (unsigned int n)
{
Assertion (n< 10);
return m _ ary[n];
}
_array operator+(_ array &; ary)
{
int a[ 10];
for(int I = 0; I< 10; i++)
{
a[I]= ary[I]+m _ ary[I];
}
return _ array(a);
}
Friend STD:: ostream &; Operator < < (STD:: ostream &; out,_ array & ampary)
{
for(int I = 0; I< 10; i++)
{
out & lt& ltary[I]& lt; & lt\ t ';
}
out & lt& ltSTD::endl;
Back out;
}
Invalid display ()
{
for(int I = 0; I< 10; i++)
{
STD::cout & lt; & ltm _ ary[I]& lt; & lt\ t ';
}
STD::cout & lt; & ltSTD::endl;
}
};
void main()
{
int a[ 10]={ 1,2,3,4,5,6,7,8,9, 10 };
int b[ 10]={4,5,6,7,8,9, 10, 1 1, 12, 13 };
_ array arr 1(a);
_ array arr 2(b);
_ array arr3
arr 3 = arr 1+arr 2;
STD::cout & lt; & ltarr3// can be displayed with this or the next screening.
arr 3 . show();
}
//array seems to use this class, and I added _ _ array in front of it.