Представьте, что вы есть класс с 100 или более переменных членов:Как передать membervariable как переменная сама
class DataContainer { int a1; int a2; ... double a100; };
и другой класс, который обращается и запчастями к нему анализ переменных в первом классе:
class Analysis {
protected:
DataContainer *myData;
void myVar1, myVar2;
public:
Analysis() {...}
void myChoice(void a, void b) { myVar1 = a; myVar2 = b }
void Analyse(DataContainer data) {
myData = data;
/* do something with myVar1 and myVar2 */
}
};
, но перед анализом вы должны выбрать, какие параметры использовать. Я хотел бы знать, как написать призыв к этой функции myChoice, которая не просто передает содержимое переменной, а выбор самого membervariable.
Чтобы узнать больше: я считаю, что позиция в памяти элемента класса относительно самого класса фиксирована (это?). Независимо, если это новый экземпляр этого класса или нет. Итак, как я могу сообщить комбайтору «Пожалуйста, используйте membervariable a3 always». Вместо содержания a3.
Переменные '100' участника? Ты шутишь, что ли? Что случилось с использованием массивов? – WhiZTiM
Моя основная программа намного сложнее, я старался упростить этот пример. Это общая структура данных с различным типом данных, поэтому нет массивов .... :-( – Georg
Очень плохо, если попытаться получить доступ к переменным-членам через указатель на класс. Есть небольшая вещь, называемая заполнением, которая будет встаньте на свой путь. – NathanOliver