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

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

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

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

24.09.2011, 18:38. Просмотров 1301. Ответов 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 переменной
Посмотрите здесь:

Инициализация переменной C++
C++ Инициализация переменной
Инициализация переменной в struct C++
C++ Инициализация переменной в классе
Инициализация static map C++
C++ Инициализация static члена класса
Определить время жизни Static переменной C++
Использование static переменной через extern C++
Инициализация переменной C++
C++ Осовобождение памяти из под static переменной
Инициализация в объявлении константных статических (const static) членов-данных класса. C++
инициализация static данных C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
KuKu
 Аватар для KuKu
1552 / 1030 / 73
Регистрация: 17.04.2009
Сообщений: 2,968
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
 Аватар для Gepar
1175 / 531 / 20
Регистрация: 01.07.2009
Сообщений: 3,516
24.09.2011, 21:47  [ТС]     Инициализация static переменной #3
Цитата Сообщение от KuKu Посмотреть сообщение
Может это хотят:
Цитата Сообщение от Gepar Посмотреть сообщение
Определите два класса, каждый со статическим членом
Не думаю, у Вас же второй элемент ссылка на int, а не статический член. Хотя ... но тем не менее как тогда можно реализовать это:

Цитата Сообщение от Gepar Посмотреть сообщение
Как нужно модифицировать эти классы, чтобы устранить в конструкторах зависимость от порядка?
KuKu
 Аватар для KuKu
1552 / 1030 / 73
Регистрация: 17.04.2009
Сообщений: 2,968
24.09.2011, 21:59     Инициализация static переменной #4
Зависимость кого и от порядка чего?)
Gepar
 Аватар для Gepar
1175 / 531 / 20
Регистрация: 01.07.2009
Сообщений: 3,516
25.09.2011, 04:23  [ТС]     Инициализация static переменной #5
KuKu, ну я так понял что вторая часть подразумевает убрать зависимость между тем какая статическая переменная будет инициализирована первой.
Yandex
Объявления
25.09.2011, 04:23     Инициализация static переменной
Ответ Создать тему
Опции темы

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