Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 13.07.2014
Сообщений: 18

Что не так в методе класса?

08.02.2015, 17:25. Показов 1382. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void Player::AddBody()//Делает змею больше
{
    for(a=999; a>0; a--)
    {
        if(snake[a].GetOk()==1&&snake[a-1].GetOk==1)
        {
            snake[a].GetX()=snake[a-1].GetX();
            snake[a].GetY()=snake[a-1].GetY();
        }
    }
    snake[0].GetX()=GetX();
    snake[0].GetY()=GetY();
    for(a=0; a<1000; a++)
    {
        if(snake[a].GetOk()==1)
        {
            gotoxy(snake[a].GetX(),snake[a].GetY());
            cout<<char(178)<<endl;
        }
    }
}
Компилятор подчеркивает 4 строчки с ошибкой "Выражение должно быть допустимым для изменения левосторонним значением":
C++
1
2
3
4
snake[a].GetX()=snake[a-1].GetX();
snake[a].GetY()=snake[a-1].GetY();
snake[0].GetX()=GetX();
snake[0].GetY()=GetY();
GetX(), GetY(), GetOk() - это методы для получения информации из private полей другого класса.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.02.2015, 17:25
Ответы с готовыми решениями:

Приём константных векторов класса, как аргументов в методе другого класса
Есть такой класс: class Order { private: int numberOrder; map &lt;string, int&gt; catalogDish; double totalCost; public: ...

Ошибка при вызове метода класса в методе другого класса
Господа программисты, возникла такая проблема. При вызове метода класса в методе другого класса выходит такая ошибка &quot; нестандартный...

Как в методе класса вызвать другой метод того же класса?
class mate { public: int AplusB(int A, int B) { return A+B; } int AplusBplusC(int A, int B, int C)

4
DU
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
08.02.2015, 18:15
если GetX возвращает не ссылку, а просто скажем int, то следующий код имеет мало смысла:
C++
1
obj.GetX() = 0;
какие сигнатуры у ваших Get методов?
0
27 / 26 / 6
Регистрация: 22.03.2014
Сообщений: 277
08.02.2015, 21:23
Butirator, может надо вместо
Цитата Сообщение от Butirator Посмотреть сообщение
snake[0].GetX()=GetX();
сделать
C++
1
 snake[0].SetX(GetX());
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
08.02.2015, 22:52
Цитата Сообщение от Butirator Посмотреть сообщение
GetX(), GetY(), GetOk() - это методы для получения информации из private полей другого класса.
Логично что для установки информации тоже должны быть методы типа SetX, SetY ...
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
09.02.2015, 10:26
Лучший ответ Сообщение было отмечено Butirator как решение

Решение

Butirator, пример на пальцах:
В вашем коде, Get, как было сказано выше, вернет какое-то число. Получится что-то вроде
C++
1
13=snake[a-1].GetX();
Как можно числу тринадцать присвоить значение? Вот об этом вам компилятор и говорит - "Выражение должно быть допустимым для изменения левосторонним значением". Левосторонним относительно знака равно.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.02.2015, 10:26
Помогаю со студенческими работами здесь

Указатель метода класса в другом методе этого класса
Здравствуйте. Как можно передать в методе класса указатель на другой метод этого же класса. Задача сделать вот что: class A { ...

Задачка для новичков #2: вывести в методе класса-родителя значение данных-членов из дочернего класса
Вдохновленный соседней темой тоже решил задать свой вопрос таким же начинающим программистам как и я :) Все кто хочет попробовать дать...

Создание объекта класса в методе этого же класса
собственно вопрос. можно ли создавать объект класса в методе того же класса? насколько это правильно и как это можно сделать (если это...

Двоеточие в методе класса
Несколько раз в разных статьях сталкивался с таким синтаксисом и нигде не смог найти описание. Пример: WindowSettings(): x(0), y(0),...

Использование this в методе класса
Добрый день! Пытаюсь написать класс красно-чёрного дерева. Вот фрагмент класса: class Tree { long value; Tree* parent; ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru