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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 10.02.2010, 00:59   #1
adam+
Новичок
Джуниор
 
Регистрация: 10.02.2010
Сообщений: 5
По умолчанию Где ошибка? where is error?

pramram does not work.Where is error?

Код:
# include <iostream>

using namespace std;

class A{
      private :
              int x;
      public:
             A():x(0){};
            A operator=(const A& oz);
            
           A operator+(const A& oz) ;
           
            A(int t)
            {
                  x=t;
            }
             };
             
              A A::operator=(const A& oz)
             {
                                  x=oz.x;
             }
             
             A A::operator+(const A& oz) 
             {
                                  x=oz.x;
                                
                             return *this;
                                
             }
             
             int main()
             {
                 A obj1,obj2(2),obj3;
                 obj1=obj2;
                 obj1=obj2+obj3(3);
                 
                 system("pause");
                 return 0;
             }
adam+ вне форума
Старый 10.02.2010, 02:27   #2
Корвин
Пользователь
 
Аватар для Корвин
 
Регистрация: 07.02.2010
Сообщений: 31
По умолчанию

Код:
# include <iostream>

using namespace std;

class A{
      private :
              int x;
      public:
             A(){this->x=0;}
            A operator=(const A& oz);
            
           A operator+(const A& oz) ;
           
            A(int t)
            {
                  this->x=t;
            }
             };
             
              A& A::operator=(const A& oz)
             {
                                  this->x=oz.x;
                                return *this;

             }
             
             A A::operator+(const A& oz) 
             {
                                  this->x=oz.x;
                                
                             return *this;
                                
             }
             
             int main()
             {
                 A obj1,obj2(2),obj3;
                 obj1=obj2;
                 obj1=obj2+obj3(3);
                 
                 system("pause");
                 return 0;
             }
#define true false
У сверхпрограммы будут сверхглюки, ха-ха!
Корвин вне форума
Старый 10.02.2010, 02:37   #3
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

Корвин, what are you doing??? operator = must be described like this:
Код:
A & A::operator = ( const A & oz )
{
if ( this != &oz )
{
x = oz.x;
}
return * this;
}
And you didn't write right prototype of the method operator = in the class.
Carbon вне форума
Старый 10.02.2010, 02:56   #4
Корвин
Пользователь
 
Аватар для Корвин
 
Регистрация: 07.02.2010
Сообщений: 31
По умолчанию

sorry, errors happens!
#define true false
У сверхпрограммы будут сверхглюки, ха-ха!
Корвин вне форума
Старый 10.02.2010, 11:01   #5
adam+
Новичок
Джуниор
 
Регистрация: 10.02.2010
Сообщений: 5
По умолчанию

Цитата:
And you didn't write right prototype of the method operator = in the class.
How can i write prototype?

I wrote program bur didn't work any.
error: prototype for `A& A:perator=(const A&)' does not match any in class `A'
`A& A:perator=(const A&)' and `A A:perator=(const A&)' cannot be overloaded
Цитата:
# include <iostream>

using namespace std;

class A{
private :
int x;
public:
A():x(0){};
A operator=(const A& oz);

A operator+(const A& oz) ;

A(int t)
{
x=t;
}
};

A & A:perator = ( const A & oz )
{
if ( this != &oz )
{
x = oz.x;
}
return * this;
}


A A:perator+(const A& oz)
{
x=oz.x;

return *this;

}

int main()
{
A obj1,obj2(2),obj3;
obj1=obj2;
obj1=obj2+obj3(3);

system("pause");
return 0;
}
adam+ вне форума
Старый 10.02.2010, 11:07   #6
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Код:
# include <iostream>

using namespace std;

class A{
private :
int x;
public:
A():x(0){};
A& operator=(const A& oz);

A operator+(const A& oz) ;

A(int t)
{
x=t;
}
};
pu4koff вне форума
Старый 10.02.2010, 13:16   #7
adam+
Новичок
Джуниор
 
Регистрация: 10.02.2010
Сообщений: 5
По умолчанию

Pu4koff
I Wrote below code, but program didn't work.
Цитата:
A& operator=(const A& oz);
error:43 no match for call to `(A) (int)'
adam+ вне форума
Старый 10.02.2010, 13:22   #8
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

WTF?
Код:
obj1=obj2+obj3(3);
pu4koff вне форума
Старый 10.02.2010, 13:24   #9
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

Код:
A A:perator+(const A& oz) 
{
x=oz.x;

return *this;

}
Huh! I thought right operator+ must look like this:
Код:
A A::operator + ( const A & oz )
{
A res( x + oz.x );
return res;
}
Carbon вне форума
Старый 10.02.2010, 13:25   #10
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

And please, write copy constructor.
Carbon вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка fatal error LNK1190 TheWanderer Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 5 27.12.2015 05:53
Ошибка Run-Time error 13 DEZuv Microsoft Office Access 0 03.04.2009 12:25
Ошибка I/O error 104 ptz2010 Общие вопросы Delphi 8 31.03.2009 20:45
Ошибка I/O error 6 Волк Общие вопросы Delphi 8 09.02.2009 14:12
ошибка I/O error 32 kolduev Помощь студентам 7 29.02.2008 20:22