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

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

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

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

24.09.2011, 18:38. Просмотров 1360. Ответов 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;
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2011, 18:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Инициализация static переменной (C++):

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

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

Static поля в классе и инициализация - C++
Мне нужен класс, у которого было бы общие переменные и функции их устанавливающие \ читающие для всех экземпляров. Но статик поля требует...

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

Инициализация в объявлении константных статических (const static) членов-данных класса. - C++
Привет. Подскажите пожалуйста почему нельзя создавать в классе const static float, а const static int можно? class A{ const...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
KuKu
1558 / 1036 / 78
Регистрация: 17.04.2009
Сообщений: 2,985
24.09.2011, 21:31 #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);
}
0
Gepar
1177 / 533 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
24.09.2011, 21:47  [ТС] #3
Цитата Сообщение от KuKu Посмотреть сообщение
Может это хотят:
Цитата Сообщение от Gepar Посмотреть сообщение
Определите два класса, каждый со статическим членом
Не думаю, у Вас же второй элемент ссылка на int, а не статический член. Хотя ... но тем не менее как тогда можно реализовать это:

Цитата Сообщение от Gepar Посмотреть сообщение
Как нужно модифицировать эти классы, чтобы устранить в конструкторах зависимость от порядка?
0
KuKu
1558 / 1036 / 78
Регистрация: 17.04.2009
Сообщений: 2,985
24.09.2011, 21:59 #4
Зависимость кого и от порядка чего?)
0
Gepar
1177 / 533 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
25.09.2011, 04:23  [ТС] #5
KuKu, ну я так понял что вторая часть подразумевает убрать зависимость между тем какая статическая переменная будет инициализирована первой.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.09.2011, 04:23
Привет! Вот еще темы с ответами:

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
25.09.2011, 04:23
Ответ Создать тему
Опции темы

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