C++ Получить переменные класса

  • Автор темы Автор темы freta
  • Дата начала Дата начала
Новичок
Новичок
Статус
Оффлайн
Регистрация
11 Дек 2022
Сообщения
1
Реакции
0
Существует класс, в котором хранится много информации. Эта информация обрабатывается в разных функциях и уже чем-то заполняется. Мне необходимо получить доступ к переменным классам. Для этого через функцию, где используется класс, беру указатель. Теперь вопрос, можно ли сразу получить ВСЕ переменные класса? Нашел способ по отдельности брать указатель класса + смещение и тогда можно будет изменить переменную, ну это не то, может быть можно сразу все переменные получить?
 
Верни указатели на нужные переменные в виде структуры.
C++:
Expand Collapse Copy
struct myStruct
{
    public:
    int* a;
    int* b;
};

class myClass
{
    public:
    myStruct& getData()
    {
        myStruct myObject;
        myObject.a = &first;
        myObject.b = &second;
        return myObject;
    }
    private:
    int first;
    int second;
};
Пример довольно простой, который мог бы прийти в голову. Наверное ты это хотел получить
 
Последнее редактирование:
Существует класс, в котором хранится много информации. Эта информация обрабатывается в разных функциях и уже чем-то заполняется. Мне необходимо получить доступ к переменным классам. Для этого через функцию, где используется класс, беру указатель. Теперь вопрос, можно ли сразу получить ВСЕ переменные класса? Нашел способ по отдельности брать указатель класса + смещение и тогда можно будет изменить переменную, ну это не то, может быть можно сразу все переменные получить?
Может ты уже разобрался, но всё же попрошу показать что ты именно хочешь получить. И вообще не пытайся что-то объяснять, с терминологией у тебя плохо, вместо этого сразу кидай примерный код того, что ты хочешь сделать
 
Существует класс, в котором хранится много информации. Эта информация обрабатывается в разных функциях и уже чем-то заполняется. Мне необходимо получить доступ к переменным классам. Для этого через функцию, где используется класс, беру указатель. Теперь вопрос, можно ли сразу получить ВСЕ переменные класса? Нашел способ по отдельности брать указатель класса + смещение и тогда можно будет изменить переменную, ну это не то, может быть можно сразу все переменные получить?
C++:
Expand Collapse Copy
class  Hui {
public:
    int pizda;
    int chlen;
};

int main() {
    Hui h;
    h.chlen;
    h.pizda;
}
а вообще я обезьяна :SMOrc:
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Существует класс, в котором хранится много информации. Эта информация обрабатывается в разных функциях и уже чем-то заполняется. Мне необходимо получить доступ к переменным классам. Для этого через функцию, где используется класс, беру указатель. Теперь вопрос, можно ли сразу получить ВСЕ переменные класса? Нашел способ по отдельности брать указатель класса + смещение и тогда можно будет изменить переменную, ну это не то, может быть можно сразу все переменные получить?
нет способа получить доступ ко всем переменным класса сразу. можно только обратиться к каждой из них по отдельности.

если у тебя есть указатель на объект класса, то можно написать функцию, которая будет обходить все члены класса и выполнять с ними какие-то действия. НО, такой подход может быть неэффективным, если у класса много членов (твой случай), потому что при каждом вызове этой функции будут выполняться много ненужных операций. в таком случае тебе проще всего написать функцию, которая будет обрабатывать только те члены класса, которые необходимо изменить, можно рассмотреть вариант с использованием цикла, который будет перебирать все члены класса и выполнять нужные действия .
 
Назад
Сверху Снизу