Форум программистов, компьютерный форум CyberForum.ru

как присвоить значения из одного объекта другому объекту - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.81
ELDQS
 Аватар для ELDQS
10 / 10 / 1
Регистрация: 07.04.2011
Сообщений: 558
Записей в блоге: 1
13.07.2011, 10:54     как присвоить значения из одного объекта другому объекту #1
у меня два объекта, мне надо присвоить значения из одного объекта другому объекту,
как это можно сделать
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
#include <iostream> 
using namespace std;
class move {
           double x;
           double y;
      public:
             move(double a = 0, double b = 0);
             void showmove() const;
             move & add (const move & m) const;
             void reset (double a = 0, double b = 0);};
      
move::move(double a, double b ){
                  cout << " Znachenyiu x bylo prisvoeno " <<a <<'\n' <<" Znachenyiu y bylo prisvoeno " << y << '\n';
                  x = a;
                  x = b;}
                  
void move::showmove() const{
                 cout << "x = " << x << '\n' << "y = " << y << '\n';}
 
move & move::add(const move & m) const{
     x = m.x;
     y+= m.y;
     move * ukaz = new move el(x, y);}
 
void move::reset(double a = 0, double b = 0){
                   x= a;
                   y = b;}
                   
int main (){
    move r (23, 75);
    r.showmove();
    move t(85, 92);
    t.showmove();
    r.add (t)
    system("pause");
    return 0;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.07.2011, 10:54     как присвоить значения из одного объекта другому объекту
Посмотрите здесь:

C++ Присваивание значений одного класса другому.
C++ выделить место для объекта с помощью new или создать указатель, объект и присвоить один другому. какая разница?
Почему допустимо создавать объект по другому объекту, но нельзя присваивать уже созданный объект, другому созданному объекту? C++
Передача файла из одного ПК к другому C++
Почему конструктор вызывается при присвоении объекта другому объекту C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
volovzi
266 / 168 / 8
Регистрация: 14.03.2010
Сообщений: 501
13.07.2011, 11:12     как присвоить значения из одного объекта другому объекту #2
При помощи оператора присвоения.
nameless
Эксперт C++
 Аватар для nameless
289 / 288 / 14
Регистрация: 16.06.2009
Сообщений: 486
13.07.2011, 11:17     как присвоить значения из одного объекта другому объекту #3
Цитата Сообщение от ELDQS Посмотреть сообщение
move & move::add(const move & m) const{
x = m.x;
y+= m.y;
move * ukaz = new move el(x, y);}
Определение этого метода настораживает. Как бы в константном методе нельзя модифицировать, вызывающий этот метод объект.
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
13.07.2011, 11:25     как присвоить значения из одного объекта другому объекту #4
И еще вот это настораживает:
Цитата Сообщение от nameless Посмотреть сообщение
new move el(x, y);
nameless
Эксперт C++
 Аватар для nameless
289 / 288 / 14
Регистрация: 16.06.2009
Сообщений: 486
13.07.2011, 11:50     как присвоить значения из одного объекта другому объекту #5
ELDQS, вы этот код вообще компилировали?
ELDQS
 Аватар для ELDQS
10 / 10 / 1
Регистрация: 07.04.2011
Сообщений: 558
Записей в блоге: 1
13.07.2011, 15:53  [ТС]     как присвоить значения из одного объекта другому объекту #6
как мне как мне зделать чтобы создать новый объект и чтобы он возврашал его
Цитата Сообщение от Net_Wanderer Посмотреть сообщение
еще вот это настораживает:
Сообщение от nameless
new move el(x, y);
а как мне зделать чтобы он создавал объект и возвращал его
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
13.07.2011, 15:58     как присвоить значения из одного объекта другому объекту #7
ELDQS, а смысл? чем вас стандарное копирование полей неустраивает? память-то перераспределять не надо
C++
1
2
3
4
//пишите себе 
move a, b;
...
a = b;//и все
ELDQS
 Аватар для ELDQS
10 / 10 / 1
Регистрация: 07.04.2011
Сообщений: 558
Записей в блоге: 1
13.07.2011, 16:02  [ТС]     как присвоить значения из одного объекта другому объекту #8
Цитата Сообщение от Maxwe11 Посмотреть сообщение
ELDQS, а смысл? чем вас стандарное копирование полей неустраивает? память-то перераспределять не надо
я вас не понял вообще я токо начал изучать и незнаю про что вы сказали, ыы это к какому вопросу ответили, насчет первого вопроса я разобрался
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
13.07.2011, 16:10     как присвоить значения из одного объекта другому объекту #9
Цитата Сообщение от ELDQS Посмотреть сообщение
как мне как мне зделать чтобы создать новый объект и чтобы он возврашал его
конструктор создает новый объект
ELDQS
 Аватар для ELDQS
10 / 10 / 1
Регистрация: 07.04.2011
Сообщений: 558
Записей в блоге: 1
13.07.2011, 18:55  [ТС]     как присвоить значения из одного объекта другому объекту #10
C++
1
2
3
4
5
move & move::add(move & m){
     x = m.x;
     y+= m.y;
     move *ukaz = new move (x, y);
     return *ukaz;}
а вот так правильно

Добавлено через 20 минут
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
#include <iostream> 
using namespace std;
class move {
           double x;
           double y;
      public:
             move(double a, double b);
             void showmove() const;
             move & add (move & m) ;
             void reset (double a , double b);};
      
move::move(double a, double b ){
                  cout << "Znachenyiu x bylo prisvoeno " <<a <<'\n' <<"Znachenyiu y bylo prisvoeno " << b << '\n';
                  x = a;
                  y = b;
                  showmove();}
                  
void move::showmove() const{
                 cout << "x = " << x << '\n' << "y = " << y << '\n';}
 
move & move::add(move & m){
     x = m.x;
     y+= m.y;
     move *ukaz = new move (x, y);
     return *ukaz;}
 
void move::reset(double a , double b){
                   x = a;
                   y = b;}
                   
int main (){
    move r (23, 75);
    move t(85, 92);
    move *kaz = r.add (t);
    kaz.showmove();
    system("pause");
    return 0;}
у меня на 34 строке ошибка в чем там ошибка
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.07.2011, 18:59     как присвоить значения из одного объекта другому объекту
Еще ссылки по теме:

C++ Переход из одного интервала к другому
C++ Как vector<string> присвоить конкретные значения?
C++ Как присвоить значения структуре?

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

Или воспользуйтесь поиском по форуму:
nameless
Эксперт C++
 Аватар для nameless
289 / 288 / 14
Регистрация: 16.06.2009
Сообщений: 486
13.07.2011, 18:59     как присвоить значения из одного объекта другому объекту #11
ELDQS, вы пытаетесь указателю присвоить ссылку, что ни есть хорошо:

C++
1
move kaz = r.add (t);
Yandex
Объявления
13.07.2011, 18:59     как присвоить значения из одного объекта другому объекту
Ответ Создать тему
Опции темы

Текущее время: 16:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru