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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.10.2013, 19:26   #1
Drago56
Пользователь
 
Регистрация: 13.12.2010
Сообщений: 91
По умолчанию Перегрузка оператора ПЛЮС

Код:
class Matrix
      {
            // int **Mas;
             int size;
             
             public:
             int **Mas;          
            
             Matrix();
             ~Matrix();
             Matrix(int x);
             Matrix(int x,int x2);
             Matrix(const Matrix& a);
        
             void Matrix::Show();
             void Matrix::Show2();
             int Get_Size();
             Matrix operator+(Matrix &a);
             int Insert_Size(int q);
             };
Есть класс квадратная матрица.

Код:
Matrix *MATRIX;
Объявляю объект в динамический массив

Код:
Matrix x=MATRIX[0]+MATRIX[0];
Пытаюсь вызвать перегрузку оператора ПЛЮС,но не правильно перегружает.Подскажите что делаю не так
Вот функция перегрузки оператора плюс

Код:
Matrix Matrix::operator+(Matrix &a)
{
       int I;
       cout<<"Вызвана перегрузка +"<<endl;
     Matrix temp(a.size); 
     temp.size=a.size;
     Mas=new int*[a.size];
     I=0;
     for(I=0;I<a.size;I++) Mas[I]=new int [a.size];

     for(int i=0;i<a.size;i++)  {
        for(int j=0;j<a.size;j++)  {              
              temp.Mas[i][j]=Mas[i][j]+a.Mas[i][j];
              }
              }
    
     return(temp);  
   
}
Drago56 вне форума Ответить с цитированием
Старый 30.10.2013, 19:33   #2
Drago56
Пользователь
 
Регистрация: 13.12.2010
Сообщений: 91
По умолчанию

Все я разобрался...

Код:
cout<<"Вызвана перегрузка +"<<endl;
     Matrix temp(a); 
     temp.size=a.size;
    
     for(int i=0;i<temp.size;i++)  {
        for(int j=0;j<temp.size;j++)  {              
              temp.Mas[i][j]=Mas[i][j]+a.Mas[i][j];
              }
              }
    
     return(temp);
Drago56 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
перегрузка оператора new Voipp Общие вопросы C/C++ 20 28.06.2013 21:27
Перегрузка оператора >> Sektr63 Общие вопросы C/C++ 5 19.11.2012 01:51
перегрузка оператора ++ nhr Помощь студентам 0 04.05.2011 21:20
перегрузка оператора << z3rg Общие вопросы C/C++ 18 02.03.2010 02:58
Перегрузка оператора + z3rg Общие вопросы C/C++ 1 22.03.2009 03:06