Форум программистов, компьютерный форум CyberForum.ru

Как правильно перегружать унарный минус? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Деление длинного на длинное http://www.cyberforum.ru/cpp-beginners/thread746507.html
#ifndef INTEGERLONGS_HPP_INCLUDED #define INTEGERLONGS_HPP_INCLUDED //================================================================================================= namespace Longs { class TInteger; }; //================================================================================================= class Longs::TInteger {
C++ Как переделать эту прогу в шаблон классов "Двусвязный список" произвольных элементов #include <iostream.h> #include <stdlib.h>2 #include <conio.h> using namespace std; struct Element { public: double data; //сами данные http://www.cyberforum.ru/cpp-beginners/thread746506.html
C++ контейнеры STL и виды деревьев
подскажите, или покажите где есть эта информация например я знаю, что контейнеры map и set реализованы через красно-черное дерево через "какие" деревья\другие структуры данных реализованы остальные контейнеры? vector, string, list, etc и по каким причинам(от деревьев и их "родных" структур данных) один контейнер лучше другого по каким-либо параметрам. Векторы являются неэффективными для...
C++ простые числа от 1 до 10000
Написать программу, которая выводит на экран все простые числа в диапазоне от 1 до 10000 и находит их количество.
C++ Функция invert, которая возвращает число,полученное записью всех цифр некоторого натурального N в обратном порядке http://www.cyberforum.ru/cpp-beginners/thread746492.html
Разработайте функцию invert,которая возвращает число,полученное записью всех цифр некоторого натурального N в обратном порядке.Т.е,если функция принимает в качестве параметра число 75432,то возвращает число 23457.Замечание (функция должна изменять само число,переданное ей в качестве параметра
C++ Возвести матрицу в степень Дана квадратная матрица А. Возвести ее в степень К помогите пожалуйста... подробнее

Показать сообщение отдельно
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
26.12.2012, 12:50  [ТС]     Как правильно перегружать унарный минус?
Ответ уже дан постом выше.

Добавлено через 1 минуту
И вообще во-первых
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//-------------------------------------------------------------------------------------------------
Longs       ::
TInteger
Longs       ::
TInteger    ::  operator -       (                          )
{
 uint8_t  *Source;
 uint8_t  *Target;
 uint16_t  Buffer;
 uint16_t  Carry;
 TInteger  Result;
 for (Source=Data+0xFF, Target=Result.Data+0xFF; Source>=Data; --Source, --Target)
 {
  *Target=~(*Source);
 }
 for (Carry=0x0001, Target=Result.Data+0xFF; Target>=Result.Data; --Target)
 {
   Buffer=((uint16_t)*Target)+Carry;
  *Target= (uint8_t )(Buffer&0x00FF);
  Carry=(Buffer&0xFF00)>>8;
 }
 return Result;
}
//-------------------------------------------------------------------------------------------------
, а во-вторых я просил только прототип.
 
Текущее время: 15:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru