|
Программирование >> Расширенная версия языка c++
Самоучитель 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)
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |