Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 16.08.2017
Сообщений: 19
1

Как работает конструкция this в данном случае?

16.08.2017, 13:44. Показов 1272. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Народ, помогите. Отрывок кода из книги Рихтера, как тут работает конструкция this?

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
         internal class Node 
        {
                protected Node m_Next;
 
                public Node(Node next)
                {
                m_Next = next;
                }
        }
 
          internal sealed class TypedNode<T> : Node 
         {
                public T m_data;
                public TypedNode(T data):this(data,null){}   //не могу понять, как работает эта строка
 
                public TypedNode(T data,Node next):base(next)
                {
                m_data = data;
                }
 
                public override String ToString() 
                {
                return m_data.ToString() +
                ((m_Next != null) ? m_Next.ToString() : String.Empty);
                }   
        }
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.08.2017, 13:44
Ответы с готовыми решениями:

Разница в исполнении скриптов у разных браузеров (В данном случае работает только в IE)
Всем посетителям этой темы доброго, я так подозреваю вечера или ночи, но не факт, а полезно...

Теория. Почему в данном случае copy() не работает после reserve(), но работает после resize()?
Есть такая функция: void Array::SetStartIndexes(sz3_Arr_t *array) { ...

Как улучшить ПК в данном случае?
Всем привет! Подскажите, пожалуйста: &quot;Что в моём ПК на данный момент является слабым звеном -...

Как выразить переменную в данном случае
Есть две функции: P(b) и f(b), причем b меняется в заданном диапазоне от b0 до bmax. Можно ли...

5
Администратор
Эксперт .NET
17019 / 13372 / 5217
Регистрация: 17.03.2014
Сообщений: 27,342
Записей в блоге: 1
16.08.2017, 13:54 2
Angry_Eugene, конструкция : this(...) означает вызов другого конструктора в этом же классе. В данном случае конструктор TypedNode(T data,Node next).
2
Эксперт .NET
10566 / 6490 / 1506
Регистрация: 25.05.2015
Сообщений: 19,656
Записей в блоге: 14
16.08.2017, 13:54 3
Цитата Сообщение от Angry_Eugene Посмотреть сообщение
//не могу понять, как работает эта строка
Вызывается другой подходящий по параметрам конструктор этого же класса, и потом выполняется уже указанный конструктор.
2
0 / 0 / 0
Регистрация: 16.08.2017
Сообщений: 19
16.08.2017, 17:07  [ТС] 4
То есть, если я создам объект TypedNode и передам в конструктор один параметр(TypedNode obj = new TypedNode (5), то вызовется конструктор public TypedNode(T data,Node next):base(next) и аргументу T data присвоится значение 5, а второму аргументу Node next присвоится null?
0
Эксперт .NET
17685 / 12871 / 3365
Регистрация: 17.09.2011
Сообщений: 21,136
16.08.2017, 17:16 5
Лучший ответ Сообщение было отмечено Angry_Eugene как решение

Решение

Angry_Eugene, самый кайф — это прийти к ответу самостоятельно. Ощущения незабываемые.
Если вы еще не пользуетесь отладчиком, то просто добавьте в стратегические места вывод какого-нибудь сообщения, запустите код и посмотрите что происходит:
C#
1
2
3
4
5
6
7
8
9
10
public TypedNode(T data):this(data,null)
{
   Console.WriteLine("Вызывается конструктор TypeNode(T data)");
}
 
public TypedNode(T data,Node next):base(next)
{
   Console.WriteLine("Вызывается конструктор TypeNode(T data, Node next)");
   m_data = data;
}
1
0 / 0 / 0
Регистрация: 16.08.2017
Сообщений: 19
16.08.2017, 18:17  [ТС] 6
Спасибо, с этим разобрался)
0
16.08.2017, 18:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.08.2017, 18:17
Помогаю со студенческими работами здесь

Как организовать цикл в данном случае?
Доброй ночи. Вопрос таков -- на вход подаются два массива. В одном просто 60 элементов-чисел...

Как применить в данном случае Switch
Вот код: var overworks = document.querySelectorAll('.overwork'); for (var i = 0; i &lt;...

Как модифицировать в данном случае URL?
Подскажите пожалуйста как мне удалить в этом URL - (...

Как правильно записать в файл в данном случае?
Есть данные, которые я принимаю по UDP. Проблема в том, что в пакете могут быть как латинские,...

Как связан в данном случае HTML-код?
Изначально написал не правильно строчку &lt;a href=&quot;http://ru.html.net/&quot; title=&quot;HTML-учебник&quot;&gt;&lt;img...

Как отменить значение кнопки в данном случае?
Добрый вечер. У меня есть вопрос - как убрать график. На кнопку нажимаю он не уходит :( from...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru