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

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

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

Студворк — интернет-сервис помощи студентам
Как изменить статический приватный член класса если менять его нужно в main()!??
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.05.2009, 16:24
Ответы с готовыми решениями:

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

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

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

8
MCSD: APP BUILDER
 Аватар для IT_Exp
8795 / 1074 / 104
Регистрация: 17.06.2006
Сообщений: 32,602
07.05.2009, 16:56
Никак.
Приватные поля не для того придумывали, чтобы кто попало изменять мог.
0
 Аватар для Monte-Cristo
2816 / 1408 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
07.05.2009, 18:22
прямого доступа к приватным членам из 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
4 / 4 / 0
Регистрация: 10.04.2009
Сообщений: 23
07.05.2009, 20:47
Цитата Сообщение от graph Посмотреть сообщение
Как изменить статический приватный член класса если менять его нужно в main()!??
в public создать метод этого класса, в main() вызвать метод

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


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

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

Добавлено через 1 минуту
А что такое рефлексия?
Рефлексия - это как раз и есть штука, придуманная для подобных задач. Но подходит она не везде: http://ru.wikipedia.org/wiki/%... 0%B8%D0%B5)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.11.2012, 09:52
Помогаю со студенческими работами здесь

Get- ер и ссылка на приватный член класса
Здравствуйте. Возник вопрос - о какой защите данных идет речь?) Можно в классе иметь private ссылку на какой - то объект. И можно в...

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

Как добавить в вектор приватный объект класса
Как добавить в вектор приватный объект класса? К примеру . ... class Class { public: int metod(); // который = b int i;

Массив объектов класса как член другого класса
Здравствуйте. У меня тут возникла проблемка #include &quot;main.h&quot; class player { public: player(); player(char*); ...

Изменить приватный IP-адрес на публичный
Добрый день, вечер, утро! Имеется 3G-роутер iRZ с сим-картой МТС и безлимитным тарифным планом Коннект-4. Все работает,Интернет на...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru