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

Перегрузка постфиксной и префиксной формы оператора ++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ очень очень странная ошибка http://www.cyberforum.ru/cpp-beginners/thread1024214.html
вообщем стоит Windows 8.1 стоит visual studio 2008 возникла проблема: когда пытаюсь скомпилировать прогу - возникает 1 ошибка: 1>Проект : error PRJ0002 : Результат ошибки 2 возвращен из...
C++ Удаление всех элементов из динамической очереди Покажите пожалуйста пример удаления. http://www.cyberforum.ru/cpp-beginners/thread1024205.html
Работа с текстовыми файлами C++
Есть готовая программа, но надо переделать, что бы в 4 case вместо сортировки, можно было найти студента, у которого имя и фамилия (из списка) совпадает с теми, что ввел пользователь. Исходный файл...
Как реализовать алгоритм Шимбелла? C++
помогите создать алгоритм Шимбелла вот мои наброски #include<iostream> #include<string> #include<cstdio> #include<cstdlib> #define word unsigned int using namespace std;
C++ Пусть текстовый файл t разбит на непустые строки. Описать функцию count(t) для подсчета числа строк, которые начинаются и оканчиваются одной и той же http://www.cyberforum.ru/cpp-beginners/thread1024195.html
Пусть текстовый файл t разбит на непустые строки. Описать функцию count(t) для подсчета числа строк, которые начинаются и оканчиваются одной и той же литерой
C++ Зачем функции дают тип возврата - имя класса? Думаю вы по названию не поняли, так вот. Допустим я объявил класс Car. Читаю учебник и вижу там такое: Car *Function(....); Что это значит? То есть область видимости функции в пределах класса? И... подробнее

Показать сообщение отдельно
Pokemon_93
9 / 5 / 1
Регистрация: 19.01.2013
Сообщений: 74
30.11.2013, 19:53  [ТС]
Цитата Сообщение от Jupiter Посмотреть сообщение
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
#include <iostream>
 
struct Foo
{
    int mBar;
};
 
Foo& operator ++ (Foo& value)
{
    value.mBar++;
    return value;
}
 
Foo operator ++ (Foo& value, int)
{
    Foo result(value);
    value.mBar++;
    return result;
}
 
int main()
{
    Foo f;
    ++f;
    f++;
}
но делать перегрузку операций инкремента внешними функциями плохая практика так как согласно принципу наименьшего удивления операторы инкремента должны менять состояние объекта.
все что меняет состояние объекта лучше делать членом класса.

так оно и есть, CMyTime это класс в реализации (срр)
пишется вот такой код
C++
1
2
3
4
5
CMyTime const CMyTime::operator++(CMyTime& time)
{
     time.seconds++;
     return time;   
}
но проблема в том что он еще в хедере подчеркивает слово оператор
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru