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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
Gepar
1175 / 531 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
#1

Инициализация static переменной - C++

24.09.2011, 18:38. Просмотров 1344. Ответов 4
Метки нет (Все метки)

Задание опять же таки из книги Страуструпа:
Определите два класса, каждый со статическим членом, так, чтобы конструирование статического члена использовало ссылку на другой статический член. Где такое может встретиться в реальном коде? Как нужно модифицировать эти классы, чтобы устранить в конструкторах зависимость от порядка?

Что-то не представляю я как это сделать. Допустим есть у меня 2 класса с static переменными и первую я инициализировал, а как быть со второй? Как это понять что её нужно инициализировать ссылкой на первую?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class one
{
    public:
    static int x;
    static void setx(int y)
    {
        x=y;
    }
};
 
class two
{
    public:
    static int y;
};
 
int one::x(2);
int two::y;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2011, 18:38     Инициализация static переменной
Посмотрите здесь:

инициализация static данных - C++
как мне проинициализировать float в private ??? class Fuller:public HeavyCar { const static int volume = 2; const static float...

Инициализация static map - C++
Есть модуль, отвечающий за выдачу Сообщения ошибки по коду ошибки. Пока использую просто в тупую статический map прям в коде. Потом...

Инициализация static члена класса - C++
Добрый вечер! Есть класс, в нём в private реализован ещё один + это всё шаблоны. Во вложенном классе есть static указатель на переменную...

Осовобождение памяти из под static переменной - C++
Суть проблемы такова: имеется рекурсивная ф-ция(в классе), в ней есть объект string типа, после выполнения ф-ции объект возвращается ф-цией...

Использование static переменной через extern - C++
Есть форма, на ней две кнопки. Одна кнопка по нажатию добавляет элементы в класс-массив. Код первой клавиши: ...

Определить время жизни Static переменной - C++
Привет народ. Вопрос: Если static переменная объявлена в теге(внутри функции), она будет жить пока не закроется тег или всю функцию и после...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
KuKu
1557 / 1035 / 77
Регистрация: 17.04.2009
Сообщений: 2,980
24.09.2011, 21:31     Инициализация static переменной #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
#include <cstdlib>
#include <iostream>
 
using namespace std;
class one
{
    public:
    static int x;
};
 
class two
{
    public:
    static int& y;
};
 
int one::x = 10;
int& two::y = one::x;
 
int main()
{
    cout << one::x << endl;
    cout << two::y << endl;
    one::x = 20;
    cout << two::y << endl;
    system("pause");
    return(0);
}
Gepar
1175 / 531 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
24.09.2011, 21:47  [ТС]     Инициализация static переменной #3
Цитата Сообщение от KuKu Посмотреть сообщение
Может это хотят:
Цитата Сообщение от Gepar Посмотреть сообщение
Определите два класса, каждый со статическим членом
Не думаю, у Вас же второй элемент ссылка на int, а не статический член. Хотя ... но тем не менее как тогда можно реализовать это:

Цитата Сообщение от Gepar Посмотреть сообщение
Как нужно модифицировать эти классы, чтобы устранить в конструкторах зависимость от порядка?
KuKu
1557 / 1035 / 77
Регистрация: 17.04.2009
Сообщений: 2,980
24.09.2011, 21:59     Инициализация static переменной #4
Зависимость кого и от порядка чего?)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.09.2011, 04:23     Инициализация static переменной
Еще ссылки по теме:

Инициализация переменной - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; struct Chisla { int chislo; Chisla* next; }; Chisla*...

Инициализация переменной - C++
Приветствую уважаемые пользователи cyberforum! У меня появился вопрос по инициализации переменной с типом int Почему нельзя сделать вот...

Инициализация переменной - C++
class cRectangle{ public: cRectangle(); ~cRectangle(); void Rect(char h_symb, char v_symb, int init_x, int init_y,...

Инициализация переменной в классе - C++
Пытаюсь инициализировать в классе переменную и дальше ее использовать class Lines { double PI = 3.141592653589793238462; void...

Инициализация переменной в struct - C++
Как исправить эту ошибку? error C2864: wmain::Triangle::name: в пределах класса могут быть инициализированы только статические...

Инициализация глобальной переменной - C++
Здравствуйте, мне необходимо в программе по решению СНАУ добавить возможность задавать коэфициенты при неизвестных вводом через консоль. ...


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

Или воспользуйтесь поиском по форуму:
Gepar
1175 / 531 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
25.09.2011, 04:23  [ТС]     Инициализация static переменной #5
KuKu, ну я так понял что вторая часть подразумевает убрать зависимость между тем какая статическая переменная будет инициализирована первой.
Yandex
Объявления
25.09.2011, 04:23     Инициализация static переменной
Ответ Создать тему
Опции темы

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