Сап, ночной. Почему я не могу ебануть унаследованное свойство в список инициализаторов конструктора производного класса? В студии 2010 не компилируется, ошибка 2437.
class A { public: int x; };
class B: public A { public: using A::x; B(int k); };
>>232229783 >>232229792 Я честно слово не знаю зачем ты ОП этим занимаешься, если не можешь такой элементарный вопрос сам решить. Мб это все не твое завязывай ты с этим
>>232229445 (OP) Вопрос от биомусора - что за язык-то? Разве по логике наследования не должны свойства переходить от предка? Разве предок не будет создан неявно при создании наследника?
у него написано: ...... class Vehicle { protected: Emergency eptr; / ... / } ; .......... дальше он наследует: class Car: public Vehicle { /...*/ } ; ................................... и определяет конструктор: Саг: : Саг () : eptr(O) { }
>>232230174 Нет, он ведь справился сам в итоге, на сосачик не бегал, сверху правильно сказали, если не понимаешь, то и нахуй ты такой нужен, очередной быдлокодер
>>232230239 Но в примере он вызывает в конструкторах наследников: ............ Саг: : Саг () : eptr(0) {} ............. Police car: : Police car () : eptr {\(new Emergency) {} .............
ЭТО ПАСТА С ФОРЧОНГА, РАСХОДИМСЯ ЗАРЕПОРТИЛ СКРЫЛ Sup, night. Why can't I fuck the inherited property in the initializer list of the derived class constructor? In studio 2010 does not compile, error 2437.
class A { public: int x; };
class B: public A { public: using A :: x; B (int k); };
>>232229445 (OP) >Почему я не могу ебануть унаследованное свойство в список инициализаторов конструктора производного класса? Потому что зубрилка ебаная, те эти термины нахуй знать не надо, те суть надо понимать, типа куда какая хуёвина выхуячивает и тому подобное.
>>232231605 У тебя инициализация х происходит уже после создания конструктора объекта, а при использовании строки инициализации сначала вызываются конструкторы подобъектов. Она для того и нужна, чтобы не создавать основной объект в случае, если не получилось создать подобъекты.
ОП, никогда не доверяй сраным книжонкам, в них полно ошибок. Смотри, порядок такой: выделяется память под инстанс B, далее исполняется дефолтный конструтор A, который инициализирует x дефолтным значением (нулем), затем исполняется твой конструктор B, который пытается переинициализировать x, что нельзя. В твоем случае подобную проблему нужно решать следующим образом: https://godbolt.org/z/nqfr86 Если тебя напрягает конструктор A, то можешь сделать его protected.
>>232232005 Походу я немного обосрался с описанием процесса. Со списками инициализации порядок, похоже, обратный. То есть когда исполняется список инициализации B, инстанс A еще не был построен, поэтому x еще не существует, поэтому и ошибка соответствующая.
>> никогда не доверяй сраным книжонкам Чему доверять, если не книге от создателя языка?
>> можешь сделать его protected в книге так и есть, это ничего не меняет, наследникам доступны методы protected
>> В твоем случае подобную проблему нужно решать следующим образом Это я понимаю, меня интересует, есть ли ошибка в книге или нет. Ну, в общем спасибо. Будем считать, что есть.
>>232232371 > Чему доверять, если не книге Стандарту языка. Правда еще бывает такая редкая хуйня, как баг в компиляторе, который этот стандарт неверно/неполно реализует. > от создателя языка Страус сам признается, что не помнит уже нихуя всех тонкостей своего языка. Он, похоже, за все эти годы так и не понял, что его детище это ярчайший пример ублюдского дизайна языка. > в книге так и есть, это ничего не меняет, наследникам доступны методы protected Тут именно наоборот, чтобы изнутри наследников нельзя было этот конструктор вызвать. Хотя это дизайн довольно сомнительных качеств. > Это я понимаю, меня интересует, есть ли ошибка в книге или нет. Имеет смысл проверить последнее издание книги на языке оригинала. Если ошибка присутствует и там, то чекни список найденных опечаток онлайн, такой должен где-то быть, мне лень искать самому. Если нет и там, то зарепорть им ошибку по почте, обычно в до или после предисловия оставляют email.
>>232229445 (OP) Иногда класс условий может меняться, меняется тех процесс меняется класс, соответственно и спецоценку нужно производить заново и инструкции писать новые
>>232232758 Я, конечно, сторонник православной сишечки и даже не имею ничего против ручного управления памяти (один хуй в проде никто malloc/free не дрочит на каждую структурку, везде давно пулы), но вот то, что даже для банальных хеш-таблиц вершиной развития является uthash - этого я никак принять не могу, как только открываю uthash.h, так сразу блюю и стараюсь забыть, как страшный сон.
>>232232966 Давно не встречал кого-то, кто сейчас бы писал крупные куски кода на C++ для продакшена. Задачи разошлись по другим языкам с гарбидж коллектором, а если вот прям надо руками с памятью работать, то выбирают C99, иногда даже C89, но это уже только если обстоятельства вынуждают.
>>232229566 Норм прогеры не вбрасывают код в таком всратом виде и без форматирования, а используют либо pastebin, либо вообще ссыль на сниппет в онлайн-компиляторе кидают. Так что соси бибу.
>>232233327 Конкретно моего? Прослойка между двумя бекендами, которая на основе реквеста сверху и результатов снизу генерит фичи, строит DAG десятка скоринговых моделей и, собственно, запускает ML inference.