Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.05.2011, 15:23   #1
Angry_johnny
Новичок
Джуниор
 
Регистрация: 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, на этом работа программы завершается. Что сделать, чтобы перегрузка работала корректно?
Заранее спасибо!
Angry_johnny вне форума Ответить с цитированием
Старый 27.05.2011, 15:40   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 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
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
так и не получается сделать вход 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