Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Slaweek_Online
Сообщений: n/a
#1

Глобальные переменные в методе класса - C++

30.06.2013, 23:40. Просмотров 411. Ответов 3
Метки нет (Все метки)

Я объявляю класс Button (в .h файле):

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
#pragma once
#include <stdio.h>
#include <allegro5/allegro.h>
#include <allegro5/allegro_image.h>
#include <allegro5/allegro_audio.h>
 
class Button
{
private:
bool selected;
bool sounded;
public:
int state;
int x;
int y;
int w;
int h;
ALLEGRO_BITMAP *bmp;
ALLEGRO_SAMPLE *sound;
void draw();
void play_sound();
bool check();
void init(int ix, int iy, ALLEGRO_BITMAP *bmp, ALLEGRO_SAMPLE *sound);
void init(int ix, int iy, ALLEGRO_BITMAP *bmp);
virtual ~Button(void);
};
В него я хочу включить метод play_sound() (в cpp файле):
C++
1
2
3
4
5
6
7
8
9
10
#include "Slaweek_Button.h"
 
 
void Button::play_sound()
{
    if (sounded == true)
    {
        al_play_sample(sound, sound_volume, 1.0, 1.0, ALLEGRO_PLAYMODE_ONCE, NULL);
    }
}
Суть в том, что переменная sound_volume объявлена в main(). Подобная проблема возникла для остальных методов класса. Никак не пойму, как задавать переменные так, чтобы использовать их в методах класса и изменять из мейна... Буду рад совету или литературе, где описано решение моей проблемы.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2013, 23:40     Глобальные переменные в методе класса
Посмотрите здесь:

error LNK2001 и глобальные переменные класса - C++
Всем доброго дня! В программе есть класс, целиком описанный в .h файле. Структура, приблизительно, такая: //test.h class tC { ...

Глобальные переменные - C++
Как в C++ завести глобальную (общую для функции и самой программы) переменную?

Глобальные переменные - C++
Доброго времени суток всем. У меня следующая проблема: объявляю глобально переменную типа структуры dealer* root;. Далее в коде...

Глобальные переменные - C++
Подскажите пожалуйста, почему данные в глобальной переменной перезаписываются, а не плюсуются? Пример: int peremennaya; void...

Глобальные переменные - C++
Здравствуйте! Возникла видимо классическая проблема, но перечитав кучу сайтов так ее и не решил. Пишу в VS2005, имеются 2 срр файла...

Глобальные переменные - C++
Я хочу использовать глобальную переменную, определённую в main, в своих классах. Листинг)) globals.h #ifndef GLOBASL_H #define...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Hrobak
288 / 168 / 11
Регистрация: 22.03.2010
Сообщений: 483
Завершенные тесты: 1
30.06.2013, 23:58     Глобальные переменные в методе класса #2
Смотрите ключевое слово extern.
lowercase
212 / 201 / 34
Регистрация: 09.05.2012
Сообщений: 494
01.07.2013, 01:30     Глобальные переменные в методе класса #3
неправильно лесть из класса черт знает куда за значением переменной. если хотите глобальности создайте на уровне класса статическую переменную. или еще лучше нестатическую переменную и метод set_sound_volume для изменения ее значения. однако, если после измененя значния ненужно выполнять никаких дополнительных действий то можно оставить ее открытую(public) без дополнительных методов доступа. в протвином случае желательо запретить напрямую доступ к ней.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.07.2013, 11:34     Глобальные переменные в методе класса
Еще ссылки по теме:

глобальные переменные - C++
Пробовал объявить глобальные переменные следующим образом: в заголовочном файле head.h #ifndef DF_H #define DF_H //объявления...

Глобальные переменные - C++
Я правильно понимаю: &quot;в c++ использовать глобальные переменные не безопасно, т. к. др. программы могут случайно поменять значение этих...

Глобальные переменные - C++
Здравствуйте . Разбираю пример с книги на использование глобальных переменных . Там был такой пример: #include &quot;stdafx.h&quot; #include...

Глобальные статические переменные - C++
Ребят, может мне кто-нибудь объяснить назначение глобальных статических переменных? Литература (в частности Шилдт) говорит о том, что к...

Глобальные переменные и константы - C++
Есть проект, большой, с кучей классов и т.д. нужны глобальные переменные, и константы, доступ к которым должны иметь многие классы. Но они...

Используете ли вы глобальные переменные - C++
Добрый вечер, используете ли вы у себя в коде глобальные переменные между единицами трансляции и/или в конкретной? Моё мнение:...


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

Или воспользуйтесь поиском по форуму:
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
01.07.2013, 11:34     Глобальные переменные в методе класса #4
Slaweek_Online, что мешает сделать передачу параметра так:
C++
1
void Button::play_sound( int volume )
?
Yandex
Объявления
01.07.2013, 11:34     Глобальные переменные в методе класса
Ответ Создать тему
Опции темы

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