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

Инициализация static члена класса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Посчитать интеграл методом трапеций http://www.cyberforum.ru/cpp-beginners/thread1165270.html
нужно посчитать интеграл по формуле трапеции с точность e=0.001 и шагом n=10 \int_{0}^{\pi /2}\sqrt{1+sin^2(x)}dx \int_{a}^{b}f(x)dx=\frac{b-a}{2*(n-1)}*\left -формула трапеции
C++ Помогите переписать из Паскаля на С++ Помогите переписать из Паскаля на С++ var j,i:integer; N:integer; Max:real; a,b:real; Mas: array of real; begin write('Введите N ( N < 100):'); readln(N); write('Введите a:'); readln(a); http://www.cyberforum.ru/cpp-beginners/thread1165252.html
Динамическое подключение DLL C++
Здравствуйте! Скорее всего, мой вопрос покажется вам глупым, но всё же... Я не могу динамически подключить библиотеку. Когда подключаю статически, всё работает, функция выдает ответ и все счастливы. Но когда начинаю подключать статически, в момент вызова функции программа ломается, выдавая: Необработанное исключение по адресу 0x776B1A91 в DetCalcDynamic.exe: 0xC0000005: нарушение прав доступа при...
C++ Вычислить произведение квадратов тех элементов массива, для которых выполняется неравенство
Образовать массив с элементами akn = nfi +11 (k) + sin (x) fi +12 (n), где и - номер варианта, k, n = 1, 2, 3, ..., 10. Вывести его на экран в виде таблицы (матрицы) - Вычислить произведение квадратов тех элементов массива, для которых выполняется неравенство | аkn | <3.
C++ Вычислить сумму первых четырех отрицательных элементов http://www.cyberforum.ru/cpp-beginners/thread1165244.html
Образовать и вывести массив в с элементами yk = fi +10 (k), где i - номер варианта, k = 1, 2, ..., 10. Выполнить задачи вашего варианта. В случае отсутствия искомых данных вывести уведомления. - Вычислить сумму первых четырех отрицательных элементов.
C++ Чтение отдельных строк через поток Силами класса ifstream надо прочесть, например, 10 строку, затем результат присвоить переменной типа строка, и по отдельному символу присваивать значения отдельным переменным. Нужна помощь в плане подсказки - какие функции умеют проделывать подобные операции Добавлено через 2 часа 1 минуту я все еще жду предложений... подробнее

Показать сообщение отдельно
pihta
1 / 1 / 0
Регистрация: 11.11.2012
Сообщений: 23

Инициализация static члена класса - C++

03.05.2014, 20:59. Просмотров 324. Ответов 1
Метки (Все метки)

Добрый вечер! Есть класс, в нём в private реализован ещё один + это всё шаблоны. Во вложенном классе есть static указатель на переменную типа этого вложенного класса. Вопрос - как инициализировать эту переменную и возможно ли это? Если нет или если есть вариант по проще, как сделать nilPtr, что бы на неё в моём дереве указывали все листья, то буду очень благодарен решению.
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
enum colors {black = false, red = true};
 
template< typename T>
class RBTree
{
    public:
        RBTree();
        ~RBTree();
 
        RBTree<T>& insert(const T&);
        void view() const;
 
    private:
        template< typename T> class Node;
 
        Node<T> *rootPtr;
 
        template< typename T> class Node
        {
            friend class RBTree;
            static Node<T> *nilPtr; // как для вот этого вызвать... 
 
            public:
                Node()              // ...вот этот конструктор?
                {
                    parentPtr = leftPtr = rightPtr = this;
                    key = 0;
                    color = black;
                };
 
                Node(const T &value, colors clr)
                {
                    parentPtr = leftPtr = rightPtr = nilPtr;
                    key = value;
                    color = clr;
                };
 
            private:
                T key;
                colors color;
                Node<T> *parentPtr;
                Node<T> *leftPtr;
                Node<T> *rightPtr;
        };
 
        void leftRotate(Node<T>*);
        void rightRotate(Node<T>*);
        void insertFixup(Node<T>*);
        void viewHelper(Node<T>*, int) const;
};
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru