13 / 17 / 6
Регистрация: 05.09.2012
Сообщений: 210
1

Переменная не изменяется

26.01.2013, 17:52. Показов 2377. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток !

Нужна ваша помощь. Вроде бы вопрос легкий, но не могу понять как сделать.
Допустим есть код :

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
class s
{
public:
    bool progress;
 
    s()
    {
        progress = false;
    }
 
    void b()
    {
        progress = true;
    }
};
так вот мне нужно чтобы переменная progress изменилась глобально на true, а она меняется только в функции b.
Что делать подскажите ...
Заранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.01.2013, 17:52
Ответы с готовыми решениями:

Не изменяется переменная, нужно внести изменения в прогу
Недавно начал учить C++, попросили сделать прогу через свитч и цыкл. Всё вроде правильно, но...

Хочу разобраться с прототипами функций, const но переменная изменяется
Оригиналы хэш функций тут - назовем это ENG статьёй Я так подозреваю написано это на С, но вполне...

Переменная не изменяется
код должен проверить, сколько пользователей с данным ником зарегистрировалось, получая длину...

Не изменяется переменная
Здравствуйте! Не меняется переменная в методе paint(). Если буду выводить значения n в методе...

15
74 / 37 / 3
Регистрация: 23.09.2012
Сообщений: 408
26.01.2013, 17:53 2
Maratovich, как понять "глобально"?
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
26.01.2013, 17:54 3
Maratovich, Чего ?

Вызывай метод s() и b() и она изменится ...
0
13 / 17 / 6
Регистрация: 05.09.2012
Сообщений: 210
26.01.2013, 18:01  [ТС] 4
еще допустим, что этот класс наследует другой класс например VasyaPupkin так мне нужно чтобы после вызова метода b() в классе VasyaPupkin переменная progress изминилась на true


Но у меня она не изменяется.
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
26.01.2013, 18:02 5
Хватит нести ерунду и выложи весь код полностью...
0
13 / 17 / 6
Регистрация: 05.09.2012
Сообщений: 210
26.01.2013, 18:06  [ТС] 6
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
30
31
32
33
34
35
36
37
38
39
40
41
#include <iostream>
 
using namespace std;
 
class s
{
public:
    bool progress;
 
    s()
    {
        progress = false;
    }
 
    void b()
    {
        progress = true;
    }
};
 
class VasyaPupkin:public s
{
public:
    void showProgress()
    {
        cout<<progress;
    }
};
 
int main()
{
 
    s s1;
    VasyaPupkin vp;
 
 
    s1.b();
    vp.showProgress();
 
    return 0;
}
выводит false, а должен true;
0
74 / 37 / 3
Регистрация: 23.09.2012
Сообщений: 408
26.01.2013, 18:08 7
Maratovich, не должен. Вы создали 2 разных экземпляра НИКАК не связанных друг с другом.
1
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
26.01.2013, 18:09 8
Разные классы, разные объекты, с какой стати данные должны быть одни ?
1
13 / 17 / 6
Регистрация: 05.09.2012
Сообщений: 210
26.01.2013, 18:09  [ТС] 9
Цитата Сообщение от Kgfq Посмотреть сообщение
Maratovich, не должен. Вы создали 2 разных экземпляра НИКАК не связанных друг с другом.
тогда вы можете подсказать как сделать что бы сработало, то, что я хочу
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
26.01.2013, 18:11 10
C++
1
static bool progress;
Добавлено через 46 секунд
C++
1
2
3
4
static void s()
{
        progress = false;
}
итд...
1
13 / 17 / 6
Регистрация: 05.09.2012
Сообщений: 210
26.01.2013, 18:13  [ТС] 11
ну тогда и методы должны быть статическими, т.к. я использую статическую переменную ?
0
Модератор
Эксперт С++
13482 / 10739 / 6402
Регистрация: 18.12.2011
Сообщений: 28,650
26.01.2013, 18:13 12
C++
1
2
3
4
5
6
7
int main()
{
    VasyaPupkin vp;
    vp.b();
    vp.showProgress();
     return 0;
}
1
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
26.01.2013, 18:17 13
Цитата Сообщение от Maratovich Посмотреть сообщение
ну тогда и методы должны быть статическими, т.к. я использую статическую переменную ?
Ну да...
Но до конца непонятно что вам надо ...
0
Каратель
Эксперт С++
6609 / 4028 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
26.01.2013, 18:24 14
Цитата Сообщение от Maratovich Посмотреть сообщение
ну тогда и методы должны быть статическими, т.к. я использую статическую переменную ?
необязательно
0
13 / 17 / 6
Регистрация: 05.09.2012
Сообщений: 210
26.01.2013, 18:50  [ТС] 15
Я вот хотел еще спросить.
Вызывается ли второй раз коструктор если вызываешь статический метод ?
Например :
C++
1
SomeKlass::SomeMethod
в этом случае вызывается ли второй раз конструктор(без параметров) класса SomeKlass.

Спасибо.
0
4063 / 3317 / 924
Регистрация: 25.03.2012
Сообщений: 12,483
Записей в блоге: 1
26.01.2013, 19:02 16
нет, статический метод глобален.
1
26.01.2013, 19:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.01.2013, 19:02
Помогаю со студенческими работами здесь

Не изменяется static переменная
...довольно странная проблема. в 2-х файлах инклудится один заголовочный файл, в нем объявлена...

Не изменяется переменная в transform.rotation
Здравствуйте, такая штука, хочу реализовать поворот камеры на 90 градусов при нажатии кнопки...

Не изменяется глобальная переменная в методе
В методе &quot;loadpt2&quot; заполняю массив потоков. Он по моему глобальный, тогда почему при выходе с...

Не изменяется переменная, переданная по ссылке
для доступа к форме из другого потока используется метод с ref параметром public void...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru