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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Dimka-novitsek
14 / 14 / 0
Регистрация: 26.04.2012
Сообщений: 1,091
#1

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

24.10.2013, 13:12. Просмотров 278. Ответов 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++):

Тернарный оператор и множество ошибок в коде - C++
Вот задание: И простой код: #include&lt;iostream&gt; using namespace std; int main() { int n,k; cin&gt;&gt;n; ...

Перегрузить для класса оператор == (много ошибок) - C++
не могу разабраться в чем ошибки при компиляции... помогите пожалуйста код: #include &quot;StdAfx.h&quot; #include &lt;conio.h&gt; #include...

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

Class & operator's |Error: undefined reference to operator - C++
Компилирует нормально, но когда хочу использовать оператор выдает ошибку:undefined reference to 'operator..(Fraction const&amp;, Fraction...

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

operator char() или operator int() - C++
Здорова госпдо! Снова ничо не ясно как всегда. Разбираю программку из книги Страуструпа, там он описывает класс String в нем есть ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Croessmah
Эксперт CЭксперт С++
13234 / 7506 / 846
Регистрация: 27.09.2012
Сообщений: 18,436
Записей в блоге: 3
Завершенные тесты: 1
24.10.2013, 13:20 #2
C++
1
return Superclass
Возвращаете имя класса?

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

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

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

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

классы и сущность - C++
Написать программу с конструкторами и диструкторами, сущность мотоциклы... Кто знает как подскажите? есть какой нибудь пример похожий...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
24.10.2013, 15:42
Ответ Создать тему
Опции темы

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