Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.03.2016, 23:24   #31
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

Понятно.
Этож С++ думал может как то связано с памятью.
Век живи, век учись, как говорится =)
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Старый 13.03.2016, 07:36   #32
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от pompiduskus Посмотреть сообщение
Понятно.
Этож С++ думал может как то связано с памятью.
Век живи, век учись, как говорится =)
По большому счёту, всё связано с памятью т.к. там всё и хранится. В С++, класс это объект. Да, объект в объекте может существовать (это допускается), но это считается плохим тоном (если встроенный класс используется только внутри родительского, то - нормально). И ещё, доступ к встроенному классу из внешних обращений, весьма проблематичен. Если уж есть такая необходимость, всё-же лучше использовать шаблон и наследование (не панацея конечно, но так считается "правильным").
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 13.03.2016, 10:02   #33
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
класс это объект
Нет. Класс это класс, а объект это объект (экземпляр класса).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 13.03.2016, 10:07   #34
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Нет. Класс это класс, а объект это объект (экземпляр класса).
Ну, во втором приближении, так оно и есть. На основе базового класса, можно создать кучу экземпляров. Я имел в виду, другое. В самом языке класс, уже является объектом, сам по себе.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 14.03.2016, 10:21   #35
oldsnowman
Участник клуба
 
Аватар для oldsnowman
 
Регистрация: 20.02.2015
Сообщений: 1,226
По умолчанию

Цитата:
В С++ нет вложенных классов. Есть - шаблонные. Есть - наследование.
Я согласен с Smitt&Wesson.
Конечно можно написать
Код:
class List
{
    public:
        List()
            : head(0), tail(0) 
            {}

    private:
        class Node
        {
        public:
            int data;
            Node* next;
            Node* prev;
        };

        Node* head;
        Node* tail;
};
и считать class Node подклассом, но это все отдает плохим стилем программирования.
oldsnowman вне форума Ответить с цитированием
Старый 14.03.2016, 10:43   #36
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

И что "хороший стиль программирования" предлагает делать с Node? В С++ нет public/private/... для самих классов. Просто сделать его доступным всем? И что в этом хорошего если его использует только List? Например, вдруг пользователь этого API решит воспользоваться этим удобным классом для своих нужд, а потом он внезапно изменится или исчезнет потому что предполагалось, что это просто часть внутренней реализации List.

Ну и другой пример с pImpl это скорее необходимость, чем стиль.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 14.03.2016, 11:27   #37
oldsnowman
Участник клуба
 
Аватар для oldsnowman
 
Регистрация: 20.02.2015
Сообщений: 1,226
По умолчанию

тут очень специфический момент, особо углубляться не хочу, тут можно познавать мир до бесконечности и дураком умереть.
Но все-равно технического названия у этого дела нет. Автор же темы хотел узнать название сего счастья.
oldsnowman вне форума Ответить с цитированием
Старый 14.03.2016, 11:33   #38
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Не знаю что такое "техническое название", но как это обычно называют написано в сообщении #3.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 14.03.2016, 11:51   #39
oldsnowman
Участник клуба
 
Аватар для oldsnowman
 
Регистрация: 20.02.2015
Сообщений: 1,226
По умолчанию

Цитата:
Не знаю что такое "техническое название", но как это обычно называют написано в сообщении #3.
Все-таки рекурсивно ты беседуешь, Alex11223, переводя разговор на новый уровень
Надо б с тобой пивка попить
oldsnowman вне форума Ответить с цитированием
Старый 14.03.2016, 14:02   #40
the_deer_one
Участник клуба
 
Аватар для the_deer_one
 
Регистрация: 04.04.2010
Сообщений: 1,554
По умолчанию

Вложенные классы стрёмная штука. Сильно загромождают код класса.
А вот вложенные функции уже тема. Иногда так не хочется выделять в общие методы класса какой-нибудь специфический подметод, который используется только в одном методе.

P.S. Кстати, очень редкое явление. Тематическая тема на форуме.

Последний раз редактировалось the_deer_one; 14.03.2016 в 14:05.
the_deer_one вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Объявление массива класса в самом классе t2skler Общие вопросы C/C++ 9 11.01.2012 14:56
В классе создать массив элементов из другого класса LadyDisco Общие вопросы по Java, Java SE, Kotlin 0 02.05.2011 02:48
Пример создания класса и объекта в этом классе Valera Помощь студентам 0 19.04.2011 12:50
Использование объектов класса потомка в классе предке Invisible_ Общие вопросы C/C++ 1 05.04.2011 23:40
Если в классе объявить объект другого класса,будет ли видно переменные первого класса из объекта второго? TwiX Общие вопросы Delphi 3 15.11.2009 00:54