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

Разница между перегрузкой операторов внешней или внутренней функцией - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Странности с неразрешёнными файлами include (Kubuntu, NetBeans) http://www.cyberforum.ru/cpp-beginners/thread1307806.html
Всем привет. Буквально несколько дней назад я начал осваивать C++. Мне захотелось попробовать из готовых примеров создать демон, который я ранее написал на PHP. Назначение демона - соединение раз в секунду с базой данных, проверка значений в определённых таблицах и в зависимости от них выполнение неких заложенных в логику правил. Обычно пользоваться готовыми примерами мне удавалось...
C++ Ошибка в программе Откуда берутся эти числа? Задание (если нужно): Дан одномерный массив из 100 элементов, состоящий из случайных вещественных чисел в диапазоне от -35 до 50. Вывести в порядке не убывания (возрастания) те положительные элементы этого массива, которые меньше заданного числа Х (0<X<50). // ConsoleApplication1.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h"... http://www.cyberforum.ru/cpp-beginners/thread1307804.html
C++ Странности с неразрешёнными файлами include (Kubuntu, NetBeans)
Всем привет. Буквально несколько дней назад я начал осваивать C++. Мне захотелось попробовать из готовых примеров создать демон, который я ранее написал на PHP. Назначение демона - соединение раз в секунду с базой данных, проверка значений в определённых таблицах и в зависимости от них выполнение неких заложенных в логику правил. Обычно пользоваться готовыми примерами мне удавалось...
Контейнер list C++
Добрый день! Помогите пожалуйста разобраться, никогда раньше не работал с листом. Задача следующая: В числовой последовательности вставить после каждого простого числа удвоенное среднее геометрическое всех элементов последовательности. Реализация при помощи STL. Заранее Спасибо! #include <iostream> #include <time.h> #include <stdlib.h> #include <math.h> #include <list>
C++ Ошибки в Visual Studio http://www.cyberforum.ru/cpp-beginners/thread1307782.html
при создании даже самого простого кода, например hello world или любой программы выдаёт такие ошибки: 1>MSVCRTD.lib(crtexe.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp__EncodePointer@4 в функции _pre_c_init 1>MSVCRTD.lib(atonexit.obj) : error LNK2001: неразрешенный внешний символ "__imp__EncodePointer@4" 1>MSVCRTD.lib(atonexit.obj) : error LNK2019: ссылка на...
C++ Перегрузка шаблона: исправить код Помогите плиз с заданием: . Выполнить перегрузку шаблона для целочисленных и вещественных элементов. #include "stdafx.h" #include <iostream> #include <cstdlib> #include < conio.h> #include <cstdlib> //для rand(),srand() #include <ctime> подробнее

Показать сообщение отдельно
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,009
22.11.2014, 18:18     Разница между перегрузкой операторов внешней или внутренней функцией
Пояснение в комментарии.
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
25
26
27
#include <iostream>
 
class Integer {
public:
  Integer(int value = 0) : value_{value} {}
  
  int Value() const { return value_; }
  
  friend
  Integer operator+(const Integer& lhs, const Integer& rhs) {
    return Integer(lhs.value_ + rhs.value_);
  }
  
private:
  int value_;
};
 
int main() {
  Integer a = 41;
  Integer res; 
  
  // Если + перегружен как метод класса, то нужно
  // res = Integer(1) + a;
  res = 1 + a;
 
  std::cout << res.Value() << std::endl;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru