С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
0 / 0 / 0
Регистрация: 13.02.2015
Сообщений: 20

Ошибка перегрузки оператора

14.01.2016, 16:19. Показов 2879. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте уважаемые программисты,
при созданиии проэкта возникает ошибка
In function 'int main()':
154 10 [Error] no 'operator++(int)' declared for postfix '++' [-fpermissive]
155 10 [Error] no 'operator--(int)' declared for postfix '--' [-fpermissive]

Выложить весь код програмы немогу, слишком длинная. Можете посмотреть здесь http://pastebin.com/6gpayY5u
Хочу сказать чо перезагрузку операторов я сделал
C++
1
2
3
4
5
6
 73 vokzal operator ++(){addVokzal();return *this;}
 74 vokzal operator --(){deleteVokzal();return *this;}
 75 friend istream &operator >>(istream &in, vokzal &z);
 76 friend ostream &operator <<(ostream &out, vokzal &z);
 77 friend ifstream &operator >>(ifstream &fin, vokzal &z);
 78 friend ofstream &operator <<(ofstream &fout, vokzal&z);
Но при использовании этого выходит ошибка
C++
1
2
154  case 4:a++;break;// a.addVokzal(); добавление записи в БД
155  case 5:a--;break;//a.deleteVokzal(); удаление записи из БД
Когда я использую функции a.addVokzal(); a.deleteVokzal();
Программа крашится
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.01.2016, 16:19
Ответы с готовыми решениями:

Ошибка после перегрузки оператора +
Здравствуйте, решил для себя попробовать перегрузить оператор + в классе. Вроде все хорошо работает и результат при складывании...

Ошибка из книги оператора перегрузки
// Листинг 10.10. // Возвращение безымянного временного объекта #include &lt;string&gt; #include &lt;iostream&gt; // для объекта cout ...

Ошибка в алгоритме перегрузки оператора присваивания
Добрый вечер. Пишу методы для класса по своему заданию. Столкнулся с проблемой перегрузки оператора присваивания для метода поиска. Привожу...

9
 Аватар для ThePlague
104 / 104 / 99
Регистрация: 30.06.2015
Сообщений: 272
14.01.2016, 16:35
saphira777, ну вы и не перегружаете постфикс операторы ++ и -- только префикс

для перегрузки постфикс оператора:

C++
1
2
3
4
5
6
vokzal operator++(int unused)
{
    vokzal result = *this;
    addVokzal();
    return result;
}
1
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
14.01.2016, 16:41
Цитата Сообщение от saphira777 Посмотреть сообщение
перезагрузку операторов
Перегрузку, а не "перезагрузку".
0
0 / 0 / 0
Регистрация: 13.02.2015
Сообщений: 20
14.01.2016, 17:44  [ТС]
Добавлено через 35 секунд
Цитата Сообщение от ThePlague Посмотреть сообщение
для перегрузки постфикс оператора:
Я исправил, но к сожалению програма крашит
http://saveimg.ru/show-image.p... 112cfa93d7
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
14.01.2016, 18:05
Цитата Сообщение от saphira777 Посмотреть сообщение
Когда я использую функции a.addVokzal(); a.deleteVokzal();
Программа крашится
так, может, выложите код этих методов?
1
475 / 427 / 290
Регистрация: 10.03.2015
Сообщений: 1,782
14.01.2016, 18:17
ThePlague, Замудрил)

C++
1
2
3
4
vokzal operator++(int)
{
    ++*this;
}
0
 Аватар для ThePlague
104 / 104 / 99
Регистрация: 30.06.2015
Сообщений: 272
14.01.2016, 18:42
SuperKir,
1. для наглядности...
2. перегрузку префикса сотрут и что делать патом?

лучше на две строчки больше зато стабильнее
0
0 / 0 / 0
Регистрация: 13.02.2015
Сообщений: 20
14.01.2016, 18:45  [ТС]
Цитата Сообщение от Kerry_Jr Посмотреть сообщение
так, может, выложите код этих методов?
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
void vokzal::addVokzal()//добавление новой записи в БД
{VOKZAL t,*k;
int i;
k=new VOKZAL[n+1];  //выделение динамической памяти(последняя запись пуста)
if(k==NULL){cout<<"\nNo memory\n";getch(); return;};
cout<<"\nPynkt otpravleniya: ";cin>>t.otpr;
  cout<<"Pynkt naznacheniya: ";cin>>t.nazn;
  cout<<"Nomer poezda: ";cin>>t.nomer;
  cout<<"Chasi i minyti otpravleniya(vvodit' cherez probel): ";cin>>t.t.h; cin>>t.t.min;
  cout<<"Familiya passagira: ";cin>>t.f.fam;
  cout<<"Iniziali: ";cin>>t.f.iniz;
  cout<<"Tip vagona: ";cin>>t.tip;
  cout<<"Cena bileta: ";cin>>t.cost;
  cout<<endl;
for(i=0; i<n; i++)
    k[i]=px[i];
k[n]=t;
n++;
delete[]px;
px=k;
outputVokzal();//вывод БД на экран
cout<<"\nStroka yspeshno dobavlena";getch();}
 
void vokzal::deleteVokzal()//удаление записи
{int i,j;
char ch;
VOKZAL *k;
j=vuibor();
cout<<"Ydalit (Y/N)?: ";cin>>ch;
if(ch!='y') return;
if(ch=='y'){k=new VOKZAL[n-1];
        for(i=0; i<j; i++)
        k[i]=px[i];
        for(i=j+1; i<n; i++)
        k[i-1]=px[i];
        delete[]px;
        px=k;}
n--;
outputVokzal();//вывод БД на экран
cout<<"\nStroka yspeshno ydalena"; getch();}
Вот программа http://pastebin.com/6gpayY5u
0
14.01.2016, 18:51

Не по теме:

ThePlague, я обычно оба делаю, поэтому да, со вторым пунктом согласен :)

0
0 / 0 / 0
Регистрация: 13.02.2015
Сообщений: 20
15.01.2016, 19:58  [ТС]
Помогите исправить краш программы
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.01.2016, 19:58
Помогаю со студенческими работами здесь

Ошибка при реализации перегрузки оператора <<
Добрый день. Прошу помощи. Имеется такой класc. class DList { ... public: ... void Save(std::ofstream &amp;b_out); //...

Целесообразность перегрузки оператора
Изначально имелся такой вот метод (пусть будет методом класса &quot;A&quot;): //класс &quot;A&quot;, константная версия метода const Order...

Использование перегрузки оператора +
Есть у меня класс CPoint, с конструктором: CPoint::CPoint(float x, float y) { setX(x); setY(y); setS(x, y); //Сумма х и у ...

Friend-функции перегрузки оператора
Всем доброго времени суток =) У меня есть следующий код заголовочного файла: enum month {jan = 1, feb, mar, apr, may, jun, jul, aug, sep,...

Вопрос по поводу перегрузки оператора +
Всем привет.Подскажите как можно перегрузить оператор + в моем классе? И что лучше вернуть из перегруженной операции +=? Объект или...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru