Вам нужно научиться правильно обращаться к переменным экземпляра с помощью этого "указателя", как это можно просто сделать в Java

Привет, у меня есть опыт программирования на Java. Я не уверен, как установить переменные экземпляра с языком программирования c++. Я понимаю, что "это" относится к адресу памяти текущего экземпляра объекта, например Java, но за кулисами.

У меня есть как.h, так и.cpp, как установить переменные экземпляра в конструкторе, как это сделано на Java.

Я думал, что это возможно, как я сделал ниже в коде. но я получаю сообщение об ошибке, объясняющее, что переменные являются частными, что они, конечно. Я полагаю, что класс имеет доступ к своим собственным переменным экземпляра.

переменные этого класса были унаследованы от базового класса.

Моя основная достопримечательность - это понимание того, как я могу правильно обращаться к переменным экземпляра и устанавливать их с помощью методов-конструкторов. Спасибо.

LevelStructure::LevelStructure(****** newX, ****** newY, int newWidth, int newHeight, string spriteSheetName)
{
 this->x = newX;
 this->y = newY;
 this->width = newWidth;
 this->height = newHeight;
}
1 ответ

Поскольку они наследуются (я предполагаю, что public) из базового class в котором они являются private, вы не можете получить к ним доступ в производном class LevelStructure. Они должны быть public или protected для доступа к ним в производном class. Затем вы можете установить их в списке инициализаторов, примерно так:

LevelStructure::LevelStructure : x(newX), y(newY), width(newWidth), height(newHeight)
 {};

licensed under cc by-sa 3.0 with attribution.