Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
graph
1 / 1 / 0
Регистрация: 31.10.2008
Сообщений: 21
1

Как изменить статический приватный член класса?

07.05.2009, 16:24. Просмотров 1401. Ответов 8
Метки нет (Все метки)

Как изменить статический приватный член класса если менять его нужно в main()!??
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.05.2009, 16:24
Ответы с готовыми решениями:

Статический массив как член класса
Я туплю, что ли, почему это компилируется? о_О struct V { int v; }; V...

Объект, как статический член собственного класса, как?
Нужно , чтобы static member был пронициализирован объектом собственного класса....

Статический константный член-класса
Добрый день, что компилятору не нравится? VS 2013 // рекурсивное шаблоное...

Как добавить в вектор приватный объект класса
Как добавить в вектор приватный объект класса? К примеру . ... class...

Массив объектов класса как член другого класса
Здравствуйте. У меня тут возникла проблемка #include "main.h" class...

8
Rififi
2363 / 1056 / 104
Регистрация: 03.05.2009
Сообщений: 2,656
07.05.2009, 16:56 2
Никак.
Приватные поля не для того придумывали, чтобы кто попало изменять мог.
0
Monte-Cristo
2796 / 1384 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
07.05.2009, 18:22 3
прямого доступа к приватным членам из main() нет... вы можете только применить следующую конструкцию:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
class A
{
    private:
        static int var;
 
    public:
        void SetVar(int n)
        {
            var = n;
        }
 
        void GetVar()
        {
            cout << var << endl;
        }
};
 
int A::var = 0;
 
int main()
{
    A obj;
    obj.SetVar(5);
    obj.GetVar();
 
    system("pause");
    return 0;
}
0
Rumata
4 / 4 / 0
Регистрация: 10.04.2009
Сообщений: 23
07.05.2009, 20:47 4
Цитата Сообщение от graph Посмотреть сообщение
Как изменить статический приватный член класса если менять его нужно в main()!??
в public создать метод этого класса, в main() вызвать метод

прямого доступа нет
0
НеСказочник
58 / 46 / 13
Регистрация: 12.11.2012
Сообщений: 365
Записей в блоге: 2
13.11.2012, 02:13 5
А как на счёт рефлексии? Неужели не получится?


PS: Спрашиваю, потому что сейчас как раз подобную задачу решаю (для сериализации нужно) и пытаюсь разобраться с рефлексией.
0
OhMyGodSoLong
~ Эврика! ~
1246 / 995 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
13.11.2012, 09:20 6
В C++ нет рефлексии на уровне языка. Если вы нашли библиотеку, реализующую её, — читайте документацию к ней.
0
taras atavin
4204 / 1767 / 211
Регистрация: 24.11.2009
Сообщений: 27,565
13.11.2012, 09:35 7
Цитата Сообщение от Rififi Посмотреть сообщение
Никак.
Приватные поля не для того придумывали, чтобы кто попало изменять мог.
Ну почему же, можно. В мейне вызвать метод, а в нём поменять.

Добавлено через 1 минуту
Цитата Сообщение от НеСказочник Посмотреть сообщение
А как на счёт рефлексии?
А что такое рефлексия?
0
Пaтрик
426 / 394 / 132
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
13.11.2012, 09:48 8
taras atavin, reflection
2
НеСказочник
58 / 46 / 13
Регистрация: 12.11.2012
Сообщений: 365
Записей в блоге: 2
13.11.2012, 09:52 9
Цитата Сообщение от taras atavin Посмотреть сообщение
Ну почему же, можно. В мейне вызвать метод, а в нём поменять.

Добавлено через 1 минуту
А что такое рефлексия?
Рефлексия - это как раз и есть штука, придуманная для подобных задач. Но подходит она не везде: http://ru.wikipedia.org/wiki/%D0%9E%...BD%D0%B8%D0%B5)
0
13.11.2012, 09:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.11.2012, 09:52

Статический член указатель на класс
Доброго времени суток. Что требовалось: создать статический указатель на класс...

Как объявить статический метод класса?
выдает ошибку на 11 16 19 строку((((((( #include &lt;iostream&gt; using...

Член-ссылка на другой член класса
Есть класс Dot с двумя членами - x и y. Требуется еще один класс, который...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru