Программирование >>  Расширенная версия языка c++ 

1 ... 181 182 183 [ 184 ] 185 186 187 ... 227


Самоучитель C++.

three dthree d: :operator-( )

X-; у-; z-;

return

three d oKlO, 10 o2(2, 3, 4), o3;

int x, y, z;

o3 = ol -I- o2;

o3.get (x, y, z) ;

cout , Y:

cou-< z \n ;

y;

o3 ol - o2; -3 .get(x, y, z) ;

cout X: X , Y: y; Gout z \n ;

++ol;

ol .get (x, y, z) ;

cou , Y: << y;

cout Z: z

-ol;

ol.get(x, y, z);

cout X: x Y: y;

cou z \n ;

return 0;

3. #include <iostream> using namespace std;

class three d

int x, y, z; public:

three d{int i, int j, int k) {

x = i ; у = j; z = k;

three d() { x = 0; у = 0; z = 0; )



Приложение В. Ответы на вопросы и решение нений 559

voiet (int si, int &j, int &k) (

i = x; ~ y; k = z;

three d operator+(three d Sob2);

three d operator-(three d iob2);

friend three d operator++(three d &ob) ;

friend three d operator-(three d Sob); -

>

three d three d::operator+(three d £оЬ2)

three d temp;

temp.x = x + ob2.x; temp,у = у + оЬ2.у; temp.г = z + оЬ2.z;

return temp;

sob2)

temp;

temp.x = x - ob2.x; temp.у = у - оЬ2.у; temp.z = z - ob2.z;

return

three +-t-{three d Sob)

Ob.X++; .V . . , l; , , .

Pb.y+-h! ,; , ., r

оЬ.г++; ...

return

three d operator-(three d 4ob)

ob.x-; ob.y-)

ob. z-;

return ob;



560 ,. ... . . Самоучитель 0++

int ma in (}

three dol(10, 10, 10), o2 (2, 3, 4), o3 ;

int x, y, z;

03 ol + o2; . ... .

o3.get(x, y, z) ; , , ...

cout , y;

cou< z \n ;

03 = ol - o2;

o3.get(x, y, z) ;

cout X: x Y: y;

cou z \n ;

+4ol; .

ol - get (x, y, z) ;

cout <:< X: x , Y: y;

cout Z: z \n ; . -.

-ol;

cout X: X Y: y; cout Z: z \n ;

return 0;

4. Бинарная функция - член класса получает левый операнд неявно, через указатель this. Дружественная бинарная оператор-функция явно получает оба операнда. У унарной оператор-функции - члена класса нет явно заданных параметров. У дружественной унарной оператор-функции есть один параметр.

5. Перегрузка оператора = может потребоваться, когда применяемого по умолчанию поразрядного копирования недостаточно. Например, вам может понадобиться объект, в котором бьша бы копия только части данных исходного объекта.

6. Нет.

7. #include <iostream>

using namespace std;

clas ee d I

int x, y, z; public;

three d(int i, int j, int k)



1 ... 181 182 183 [ 184 ] 185 186 187 ... 227

© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика