Full Transcript

f^’X_s’^TZXbWb’^_TeeT’V’fTU_\jg’V\dfgT_paoi’ hga^j\]’VefTV_sYfes’eVbY’-2)"'( ’fb’[Tcb`\aTYfes ’f\c’6’ Полубенцева 1.1.25. Формат type_info Вроде ничего не меняет этот метод относитально this, this как был константным так и остается 1.1.5 Указатель this Полубенцева Тема 1 Введение без р...

f^’X_s’^TZXbWb’^_TeeT’V’fTU_\jg’V\dfgT_paoi’ hga^j\]’VefTV_sYfes’eVbY’-2)"'( ’fb’[Tcb`\aTYfes ’f\c’6’ Полубенцева 1.1.25. Формат type_info Вроде ничего не меняет этот метод относитально this, this как был константным так и остается 1.1.5 Указатель this Полубенцева Тема 1 Введение без реализованного default конструктора нулем не инициализируемся конфликт конструкторов В б и с вроде вызовется конструк о тор по умалчанию и мы все умрем это у полубенцевой про динамич еское создание объектов а тут неявно есть конструктор по умолчанию ихих на самом деле у полубенцевой потом нашла что это норм Полубенцева Константные методы класса. Константные объекты но вот вообще по поводу с вопрос. Потому что в любой секции же м ожно спецификатор указать и как бы уже доступ секцией не опреде ляется Насчет а он интерпретирует как функцию, с просто ничего не создает вроде передача по ссылке и указателю копирования не предусматривает шок можно реализовывать чисто виртуальные чтобы вызывать их из наследников тут еще Ксюха сказала что может быть вариант, что реализации нет в принципе во всей программе и тогда надо думать, в общем надо спросить проблема в том, что он упадет на new так как В абстракт ный Сори у меня 16 получается в программе вот так Памажите как будта надо инлайн, но в полубенцевой сказано, что только объявление ???? Мы с Матвейчиком покумекали на досуге, что оба вариантика катят, тк А сложный ну и в Б тоже надо вызвать как минимум конструктор копирования А Другое дело что я в полубенцевой помню, что она писала про то, что если в наследнике конструктора копирования нет он должен вызвать автоматом конструктор копирования родителя короче в первом ответе я не уверена упд: ксюха сказала б не нада,и она права, так как из б автоматом вызовется конструктор а, а в а реализован конструктор наверное надо просто вызвать из б конструктор а с и d выглядят крайне похожими, я честно говоря запуталась все таки не для объекта создается таблица а для класса В полубенцевой говорится про ->, (), [], = но кажется -= тоже нельзя перегружать friend Упд: я на хабре хорошую табличку нашла -= не подходит шото сломаеться наверное, но нам же пох я не заметила что конструктор запривачен а и б не пойдут Специфика перегружаемых операторов Полубенцева Сообразили что с тоже работает 33 приведется конструктором инта это описано например в Перегрузка операторов методом класса Полубенцева просто галка поставилась и не стирается, считайте что я за путина голосую даже смайлик плачет тут случилась отмена, потому что у даши случилась шиза по поводу примера у полубенцевой я погуглила, оказалось, для енамов можно перегружать Насколько поняла подвох и вопрос в том, что friend в какое угодно место к ласса можно засунуть и будет работа ть explicit конструкторы запрещают неявные преобразовани если надо больше инфы, читайте в полубенцевой Статические данные нет блин conductor а ну видимо понятно что мешает, реализация видимо вне A.h ну скажите плохо, типо разыменовываем указатель и шлепаем по стрелке но я русская это не связано с украиной 1)%""-’^baefdg^fbdo’[TcdYmTrf’aYsVaoY’cdYbUdT[bVTa\s см полубенцеву \Конструкторы и модификатор explicit\ два последних точно будут работать? упд: будут работать, такой пример есть в книге почему то изначально эту ошибку не нашли 8_s’cb_s’U\fbV’aY_p[s получить адрес: int* р = &m_х; //ошибка int& r = m_x; //объявить ссылку и проинициализировать ее битовым полем оператор sizeof с ними тоже не работает — illegal sizeof operand это в полубенцевой раздел Поля битов Арсений сказал, что вопрос про код и вызов внутри кода реализация должна быть в хедере A нельзя создать, указатель или ссылку на А можно Замечание 2: в принципе можно разработать класс, в котором нет переменных, а есть только методы. В таком случае из вышесказанного следует, что компилятору вообще памяти выделять не следует, но объект не может занимать 0 байтов, поэтому согласно стандарту при создании объектов такого типа компилятор выделяет 1 байт. из полубенцевой до сюда проверила вроде ответы нравятся упд: мне уже ниче не нравится ну вот видимо такой все таки ответ, просто раньше был этот же вопрос короче смотрите m_a private, если вдруг вы такие же как я и не заметили конечно не оч понимаю проблемы, единственное что, без дефолтного конструктора хотя бы для А не заработает ну тут как я поняла проблема в том, что f2 не гарантирует корректность своей работы для A, так как B может быть расширенной версией класса А упд: мув все таки не генерится компилятоором автоматически пока его не определят он че обычное равно что ли вызовет ???? ну видимо деыолтного move= вообще не существует о смотрите смотрите конструктор explicit значит нельзя неявные преоразования, поэтому а забанено бля а как шрифт поменять этот какой то клоунский про это есть целый пункт в полубенцевой где то про оператор =, там сравниваются 3 варианта возвращаемых значений, в данном случае и по ссылке будет работать, не будет работать с void я не согласна с а, чтобы работало надо ссылку, матвейчик вроде то же самое сказал упд: а заработает матвей пиздабол, Ксюха и Сеня молодцы тут временный объект ну и кринж надо поискать в полубенцевой Главный принцип ООП — не получайте посредством объекта данные, необходимые для совершения Вашей операции — вместо этого «попросите» объект, содержащий данные, с делать эту операцию с его (объекта) данными для Вас. Этот принцип называется делегированием (delegation)." - полубенцева d точно верно, про остальных ничего не скажу ну да, вроде только глобальной перегружаются челиксы у которых есть не родные типы в аргументах. Ну то есть не объекты класса левый операнд должен быть пользовательский класс, правй не обязательно, чтобы перегружаться внутри я не знаю я хочу плакать меня еще и матвей избил Если в производном классе оператор присваивания не реализован, то в автоматическом операторе присваивания производного класса компилятор сам вызовет оператор присваивания базового класса. не нада же тоже не нада мы с матвейчиком решили что а должно работать S’i[’VdbXY’VeY’[TdTUbfTYf \ А* pA = new C; B* pB = dynamic_cast(pA); //!=0 C* pC = dynamic_cast(pA); //!=0\ пример из полубенцевой нет блин кондуктор константное можно вроде, силайн не ругается,если конст перед ссылкой бахнуть случай разбирался в полубенцевой в рассказе про explicit силайн еблан он нормально на это отреагировал сначала идиот эттеншн лиза нашла ошибку, нельзя здесь инлайн в срр файл пихать не уверена насчет а оно так не должно работать все еще непонятен этот номер насчет b не уверена левый операнд должен быть пользовательский класс, правй не обязательно я в ахуе с того что это работает....

Use Quizgecko on...
Browser
Browser