Информатика и технология программирования


Вопросы без ответов


Определите значения элементов данных объектов после выполнения переопределенных операций .


//------------------------------------------------------bk73-14.cpp


&#35include &#60stdio.h&#62
&#35include &#60string.h&#62
class integ1
{
int val;
public: integ1 operator+(integ1);
integ1 operator+(int);
integ1 (int v0) { val = v0; }
};
integ1 integ1::operator+(integ1 two)
{ integ1 res = *this;
res.val += two.val;
return(res);
}
integ1 integ1::operator+(int two)
{ integ1 res = *this;
res.val += two;
return(res);
}
void main()
{integ1 x(5),y(0), z(0); y = x + 5; z = x + y; }
//------------------------------------------------------- 2


class integ2
{
int val;
public: integ2 &#38operator+(integ2 &#38);
integ2 &#38operator+(int &#38);
integ2 (int v0) { val = v0; }
};
integ2 &#38integ2::operator+(integ2 &#38two)
{
val += two.val;
return(*this);
}
integ2 &#38integ2::operator+(int &#38two)
{
val += two;
return(*this);
}
void main()
{ integ2 x(5),y(0), z(0); y = x + 5; z = x + y; }
//------------------------------------------------------- 3


class integ3
{
int val;
public:
integ3 &#38operator+(integ3 &#38);
integ3 operator+(int &#38);
integ3 (int v0) { val = v0; }
};
integ3 &#38integ3::operator+(integ3 &#38two)
{
two.val +=val;
return(*this);
}
integ3 integ3::operator+(int &#38two)
{ integ3 tmp = *this;
tmp.val += two;
return(tmp);
}
void main ()
{integ3 x(5),y(0), z(0); y = x + 5; z = x + y; }
//---------------------------------------------------------


class string
{
char *s;
public: string(char *);
string(string &#38);
string() { s=NULL; }
char operator[](int);
char &#38operator()(int);
string &#38operator=(int);
operator int ();
string &#38operator+(char);
string &#38operator+(char *);
string &#38operator+(string&#38);
};
string::string(string &#38src)
{ s = new char[strlen(src.s)+1]; strcpy(s,src.s); }
string::string(char *src)
{ s = new char [strlen(src)+1]; strcpy(s,src); }



Начало  Назад  Вперед



Книжный магазин