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

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

Войти
Регистрация
Восстановить пароль
 
vua72
415 / 415 / 85
Регистрация: 28.11.2010
Сообщений: 1,183
Завершенные тесты: 1
#1

Область видимости и время жизни переменных внутри класса - C++

22.11.2012, 13:15. Просмотров 1070. Ответов 4
Метки нет (Все метки)

Есть класс, определение в файле myclass.h, реализация myclass.cpp
Как и где правильно определить глобальную переменную, чтоб ее значение сохранялось все время жизни класса, т.е. ее значение можно было использовать во всех private и public методах этого класса? Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2012, 13:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Область видимости и время жизни переменных внутри класса (C++):

Область видимости переменных - C++
Как использовать одну переменную в нескольких файлах, если эта переменная задана только в одном. Файлы между собой связаны Добавлено...

Область видимости переменных - C++
Не компилируется программа, пишет, что count не является однозначным... #include <iostream> #include <stdio.h> using namespace std; ...

Область видимости переменных - C++
Здравствуйте. Столкнулся со следующей проблемой: есть файл main.cpp: int a, b; #include "class.h" int main() { ...

Пример автоматических переменных и область их видимости - C++
Здравствуйте, пишу на форуме в первый раз и я только начал изучать программирование C++(по книге Хортона). Книга написана на версию VS...

область видимости класса - C++
А почему у меня ошибку выдает? Не могу понять using namespace std; class Base { int a; public: Base(int aa) { a = aa; } ...

Время жизни переменных - C++
Добрый вечер. у меня такая проблема. мне нужно перегрузить функцию для моего класса: numb numb::operator +(const numb &p)const { ...

4
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
22.11.2012, 13:29 #2
Статической переменной класса в файле заголовка.
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
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <string>
 
class Something {
 private:
  std::string name;
  std::string getFormedNameWithSevenSpaces() const {
    return SEVEN_SPACES + name;
  }
 public:
  Something(const std::string &name) : name(name) {}
  const std::string &getName() const {
    return name;
  }
  std::string getNameWithSevenSpaces() const {
    return getFormedNameWithSevenSpaces();
  }
  bool isEven() const {
    return hasEvenNumberOfSymbols(getName());
  }
  static const std::string SEVEN_SPACES;
  static bool hasEvenNumberOfSymbols(const std::string &string) {
    return string.length() % 2 == 0;
  }
};
 
const std::string Something::SEVEN_SPACES = "       "; 
 
int main(int argc, char **argv) {
  Something something("something");
  std::cout << something.getNameWithSevenSpaces() << std::endl;
  return 0;
}
1
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
22.11.2012, 15:06 #3
Не совсем понятен вопрос. Что имеется ввиду под временем жизни класса? Вообще-то, любая переменная класса сохраняется до конца жизни объекта, и к ней можно всегда обращаться с помощью методов класса.
0
vua72
415 / 415 / 85
Регистрация: 28.11.2010
Сообщений: 1,183
Завершенные тесты: 1
23.11.2012, 02:12  [ТС] #4
Спасибо, на что влияет объявление static в имени переменной класса?
0
ForEveR
В астрале
Эксперт С++
7979 / 4738 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
23.11.2012, 09:23 #5
vua72, На то, что это становится переменная класса, а не объекта.
1
23.11.2012, 09:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.11.2012, 09:23
Привет! Вот еще темы с ответами:

C++11 время жизни переменных - C++
После долгого перерыва в программирование вновь спохватился и тут наткнулся на такую не ожиданность #include &lt;iostream&gt; using...

Область видимости переменной пользовательского класса - C++
Всем привет! Столкнулся с такой проблемой: Создал клас и в нем класс исключений class A { char* pt; public: class...

Время жизни локальных переменных в цикле - C++
Добрый вечер! допустим, в таком коде: int i=100; while(i&gt;0) { int t = i+1; ... --i; }

Нюансы работы с лямбдами и область видимости переменных: как передать в лямбду переменную, а не её копию? - C++
Очень нужна помощь, не выходит задать глобальную переменную для работы программы, возможно нужно немного изменить код функции: Функция...


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

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

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