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

Перегрузка операторов под vector - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Область видимости. один класс не видит другой класс http://www.cyberforum.ru/cpp-beginners/thread1122184.html
Добрый день! такая проблема. Есть базовый класс Q. От него наследуется 2 класса Р и G. Класс P имеет два конструктора 1 принимает число а 2 принимает объект класса g. Класс g имеет один...
C++ Подскажите недостающие библиотеки Необходимо построить прямую, используя алгоритм DDA-линии. Используя алгоритм из... http://www.cyberforum.ru/cpp-beginners/thread1122179.html
Поиск элементов, которые имеются в двух массивах. C++
Написать функцию для поиска элементов, которые имеются в обоих массивах А и В в нескольких экземплярах
Ввод с клавиатуры данных в массив, состоящий из восьми элементов типа TRAIN C++
помогите пожалуйста, не получается сделать,туго с динамикой. • Описать структуру с именем TRAIN, содержащую следующие поля: • название пункта назначения; • номер поезда; • время отправления....
C++ Дан одномерный массив. Вставить max и min после элементов с номерами m1 и m2 http://www.cyberforum.ru/cpp-beginners/thread1122159.html
Дан одномерный элемент.Вставить max и min после элементов с номером m1 и m2? Я составил так,нашел максимум и минимум,но я не знаю как менять местами вроде будет for(i=9;i>=0;i--); A=A; и дальше...
C++ Как вернуть элемент вектора? Всем доброго времени суток. Есть небольшая проблема с методом: student SearchBySecondName (std::string secondName){ std::vector <student> :: iterator i; for ( i = mn.begin(); i < mn.end(); i++)... подробнее

Показать сообщение отдельно
DrOffset
7155 / 4296 / 972
Регистрация: 30.01.2014
Сообщений: 7,101
17.03.2014, 22:47
MurderKnot, так их два на самом деле. Один - это объект класса, this. А другой - внешний объект.
C++
1
2
3
4
5
6
7
8
9
10
class A
{
public:
    int operator+(A const & a)
    {
         return value_ + a.value_;
    }
private:
    int value_;
};
Добавлено через 11 минут
Ты определяешь какой-либо метод класса, например:
C++
1
2
3
4
5
class A
{
public:
    void func(int a);
};
Он семантически эквивалентен вот такой функции:
C++
1
void fun(A* this_, int a);
То есть присутствует неявный параметр для доступа к элементам класса.
Поэтому когда мы определяем оператор как метод класса, ему не нужно писать явно два аргумента, т.к. один уже есть.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru