powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Изменение обьекта класса в прцедуре
5 сообщений из 5, страница 1 из 1
Изменение обьекта класса в прцедуре
    #34355111
_Andrew_N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
C++Builder6. Проблема следующая. Необходимо в процедуре изменять значения членов обьекта класса. В заголовочном файле есть описание класса Coater и инициализация обьекта Coaters этого класса:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
     class Coater
      {
      public:
      int PumpHeating,CoaterHeating,IngotResource;
      };
      
      Coater Coaters;
      void WriteToCoaters (Coater Coaters);

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
void WriteToCoaters (Coater Coaters)
{
    Coaters.PumpHeating=StrToInt(MainForm->PumpHeatingEdit->Text);
}

__fastcall TMainForm::TMainForm(TComponent* Owner)
        : TForm(Owner)
{
 Coaters.PumpHeating =  50 ;
}

void __fastcall TMainForm::CoaterApplyBtnClick(TObject *Sender)
{
  WriteToCoaters (Coaters);
}
В файле сpp есть описание процедуры WriteToCoaters, которая принимает обьект этого класса и должна изменять значения его членов. Но после ее вызова обьект почему-то остается таким же как и до вызова. В чем моя ошибка? Я так понимаю она принципиальная?
...
Рейтинг: 0 / 0
Изменение обьекта класса в прцедуре
    #34355128
Фотография Анатолий Широков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы передаете объект Coaters по значению, а следует по ссылке:

Код: plaintext
1.
2.
3.
void WriteToCoaters (Coater &Coaters)
{
...
}
...
Рейтинг: 0 / 0
Изменение обьекта класса в прцедуре
    #34355236
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Анатолий ШироковВы передаете объект Coaters по значению, а следует по ссылке:

Иначе оригинальны обьект будет скопирован в аргумент, а сам (оригинальный обьект) останется неизменным.
...
Рейтинг: 0 / 0
Изменение обьекта класса в прцедуре
    #34355271
_Andrew_N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо за ответы, понял, буду пробовать
...
Рейтинг: 0 / 0
Изменение обьекта класса в прцедуре
    #34358251
_Andrew_N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все работает, еще раз спасибо
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Изменение обьекта класса в прцедуре
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]