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

Функция которая возвращает класс - C++

Восстановить пароль Регистрация
 
igormalanyk
1 / 1 / 0
Регистрация: 10.04.2013
Сообщений: 33
10.04.2013, 21:21     Функция которая возвращает класс #1
Есть функция считывания вектора с формы
Вызов функции выглядит так
C++
1
Vector1.GetVector(GridOfVector1);
C++
1
2
3
4
5
6
7
CVector CVector::GetVector(TStringGrid* A)
{
this->m_nX = StrToInt(A->Cells[0][0]);
this->m_nY = StrToInt(A->Cells[1][0]);
this->m_nZ = StrToInt(A->Cells[2][0]);
return ;
}
Как сделать, чтобы функция возвращала класс, который ее вызывает, то есть Vector1.
Для такой операции к примеру
C++
1
Vector3 = Vector1.GetVector(GridOfVector1)+Vector2.GetVector(GridOfVector2)
(функция плюс перегружена)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
abit
 Аватар для abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
10.04.2013, 21:32     Функция которая возвращает класс #2
C++
1
return this;
igormalanyk
1 / 1 / 0
Регистрация: 10.04.2013
Сообщений: 33
10.04.2013, 21:41  [ТС]     Функция которая возвращает класс #3
return this не подходить, нужно вернуть класс, а this, это указатель.
abit
 Аватар для abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
10.04.2013, 21:49     Функция которая возвращает класс #4
разыменуйте, в чём проблема?
C++
1
return *this;
Добавлено через 5 минут
сделайте лучше так
C++
1
2
3
4
5
6
7
CVector& CVector::GetVector(TStringGrid* A)
{
this->m_nX = StrToInt(A->Cells[0][0]);
this->m_nY = StrToInt(A->Cells[1][0]);
this->m_nZ = StrToInt(A->Cells[2][0]);
return *this;
}
там в сигнатуре метода поставьте &
просто как бы не хорошо произвольные классы так передавать
Yandex
Объявления
10.04.2013, 21:49     Функция которая возвращает класс
Ответ Создать тему
Опции темы

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