Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Dimka-novitsek
14 / 14 / 2
Регистрация: 26.04.2012
Сообщений: 1,091
#1

Происхождение и сущность ошибок.оператор operator++ - C++

24.10.2013, 13:12. Просмотров 301. Ответов 4
Метки нет (Все метки)

Пожалуста, обьясните про оператор operator++. честно написать, я вобще почти ничего не понял. Как он действует? Для чего он нужен?

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <iostream> // для объекта cout
using namespace std;
 
#include<iomanip>
//Этот файл содержит большую часть манипуляторов C++. Если вы не знаете, что такое манипулятор, не беспокойтесь. Просто подключите это файл смело и не раздумывая  вместе с iostream, хуже не станет.
#include<fstream> 
//Подключается при работе с файлами.
 class Superclass
 {
 public:
     Superclass();
    ~Superclass(){ }
       int Vydavatel()const { return Tselaja; }
       void Prinymatel(int B) { Tselaja = Tselaja+B; }
       Superclass operator++ () { ++Tselaja; return Superclass;}
 
 private:
       int Tselaja;
 };
 
 
 
 Superclass::Superclass():
       Tselaja(0)
 {cout << "Superclass()" <<  endl; }
 
 
 Superclass Superclass::operator++()
 {    Superclass Bum;
      Bum.Prinymatel(50);
      return Bum;   }
 
 
 int main()
 {
Superclass Bject;  
           cout << "Tselaja " <<Bject.Vydavatel() << endl;
Superclass a = ++Bject;
           cout << "Tselaja " <<Bject.Vydavatel() << endl;
           cout << "Tselaja " << a.Vydavatel() << endl;
 
 system("pause  ");
 
 return 0;
 }
Пожалуста, поразясняйте ошибки, помогите окультурить код.

1>d:\проги\uffff\uffff\fffff.cpp(15 ): error C2275: Superclass: недопустимое использование этого типа в качестве выражения
1>d:\проги\uffff\uffff\fffff.cpp(29 ): error C2084: функция "Superclass Superclasserator ++(void)" уже имеет текст реализации
1> d:\проги\uffff\uffff\fffff.cpp(15): см. предыдущее определение "++"
1>d:\проги\uffff\uffff\fffff.cpp(38 ): error C2264: Superclasserator ++: ошибка в определении или объявлении функции; функция не вызвана
1>d:\проги\uffff\uffff\fffff.cpp(38 ): error C2088: ++: недопустимо для class
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.10.2013, 13:12
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Происхождение и сущность ошибок.оператор operator++ (C++):

Тернарный оператор и множество ошибок в коде
Вот задание: И простой код: #include&lt;iostream&gt; using namespace std; int...

Перегрузить для класса оператор == (много ошибок)
не могу разабраться в чем ошибки при компиляции... помогите пожалуйста код:...

Тонкости терминологии: что такое оператор, операция, инструкция и кто из них operator, а кто statement?
лучше говорить операция, так как оператор в англоязычной литературе, это нечто...

Class & operator's |Error: undefined reference to operator
Компилирует нормально, но когда хочу использовать оператор выдает...

Вызов operator[] через operator[] const
Перелистывал Майерса, наткнулся на код, подскажите пожалуйста почему он...

operator char() или operator int()
Здорова госпдо! Снова ничо не ясно как всегда. Разбираю программку из книги...

4
Croessmah
++Ͻ
14161 / 8086 / 1513
Регистрация: 27.09.2012
Сообщений: 19,926
Записей в блоге: 3
Завершенные тесты: 1
24.10.2013, 13:20 #2
C++
1
return Superclass
Возвращаете имя класса?

И префиксный инкремент по логике должен возвращать тот же объект, то есть ссылку на *this
1
Dimka-novitsek
14 / 14 / 2
Регистрация: 26.04.2012
Сообщений: 1,091
24.10.2013, 15:03  [ТС] #3
А может кто-то привести пример с operator++?
0
castaway
Эксперт С++
4927 / 3034 / 453
Регистрация: 10.11.2010
Сообщений: 11,089
Записей в блоге: 10
Завершенные тесты: 1
24.10.2013, 15:12 #4
Чем тебя этот ответ не устраивает?
1
Dimka-novitsek
14 / 14 / 2
Регистрация: 26.04.2012
Сообщений: 1,091
24.10.2013, 15:42  [ТС] #5
Скомпилировалось!! я что-то вчера не понял. Расматриваю внимательней!!!
0
24.10.2013, 15:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.10.2013, 15:42
Привет! Вот еще темы с решениями:

Реализация operator + через operator +=
внутри следующей темы возник вопрос, ответ на который так и не был получен:...

Перегрузить операторы operator+() и operator*() в пользовательском классе "Комплексное число"
Здравствуйте. Предлагаю заняться арифметикой. Создал прослейший класс,...

Operator +, operator += — какой через какой реализовывать?
Для class Fraction { // ... public: Fraction operator + ( const...

классы и сущность
Написать программу с конструкторами и диструкторами, сущность мотоциклы... Кто...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru