![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 25.05.2011
Сообщений: 2
|
![]()
По умолчанию Перегрузка операторов С++. Ошибка в реализации перегрузки
// Перегрузка операторов.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <iostream> #include <conio.h> using namespace std; class Mnojestvo { public: int n,k,l,m,*mass1,*mass2,mass3[100]; public: Mnojestvo(int n,int k) { mass1 = new int [n]; cout<<"Inicializaciya elementov pervogo massiva"<<"\n"; for(int i=0;i<n;i++) { cout<<"Vvedite znachenie "<<(i+1)<<"go elementa massiva"<<"\n"; cin>>l; mass1[i]=l; }; mass2 = new int [k]; cout<<"Inicializaciya elementov vtorogo massiva"<<"\n"; for(int i=0;i<k;i++) { cout<<"Vvedite znachenie "<<(i+1)<<"go elementa massiva"<<"\n"; cin>>m; mass2[i]=m; }; }; Mnojestvo() { n=100;k=100; }; friend Mnojestvo operator+(Mnojestvo mn1, Mnojestvo mn2) { cout<<"Summirovanie mnojestv"<<endl; Mnojestvo temp; for(int i=0;i<mn1.n;i++) { temp.mass3[i]=mn1.mass1[i]; }; for(int i=mn1.n;i<(mn1.n+mn2.k);i++) { temp.mass3[i]=mn2.mass2[(mn1.n-1)+i]; }; for(int i=0; i<(mn1.n+mn2.k);i++) { cout<<temp.mass3[i]<<endl; }; return temp; }; }; int main() { int z,x; cout<<"Vvedite razmernosti massivov"<<endl; cin>>z; cin>>x; Mnojestvo mn1(z,0); Mnojestvo mn2(0,x); mn1+mn2; system("PAUSE"); return 0; } Из перегрузки работает только первый cout, на этом работа программы завершается. Что сделать, чтобы перегрузка работала корректно? Заранее спасибо! |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Не изучал все, что выше main() , но в VS 2010 ничего не завершается после cout. http://i56.tinypic.com/makjsl.jpg
И используйте тег [CODE] (значок #) для сохранения форматирования\подсветки кода в сообщении.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
так и не получается сделать вход | ilushka2306 | PHP | 3 | 14.05.2011 14:00 |
Не получается сделать скриншот C# | Ski1alec | C# (си шарп) | 5 | 24.01.2011 22:56 |
Стоит ли объявлять перегрузку оператора + как inline? Почему? | Kn793 | Общие вопросы C/C++ | 2 | 13.05.2010 14:06 |
Не получается сделать .... | Castro | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 22.05.2009 19:11 |
Не получается сделать прозрачную текстуру | devi409 | Мультимедиа в Delphi | 5 | 25.03.2009 05:47 |