170 похожих чатов

Копирование через базовый класс?

12 ответов

15 просмотров

Нет, хочу понять просто можно ли с точки зрения синтаксиса и компилятора это сделать одним конструктором

Suhrob
Нет, хочу понять просто можно ли с точки зрения си...

В общем случае - нет, если вы руками к типу не приведете. Либо наопределять конструкторов и в них прокидывать через каст к нужному типу

смкх
В общем случае - нет, если вы руками к типу не при...

Этот вариант рабочий, все верно. Но немного нето

Ilya Zviagin
Это очень криво, теоретически можно

Не отрицаю, я просто хочу понять как это сделать

Suhrob
Нет, хочу понять просто можно ли с точки зрения си...

Да и собственно, что там мучиться, написал 4 конструктора и всё

Suhrob
Нет, хочу понять просто можно ли с точки зрения си...

Как бы тут так : 0) конструирование и присваивание всегда неполиморфны, в том смысле, что они всегда конкретны. Вот это, а вот то, откуда надо копировать данные. Если ты хочешь что-то типа "я хочу взять все данные что только есть - это почти 100% горбуха, так не бывает. Например, животное, млекопитающее, примат, человек - и ты хочешь человека инициализировать из млекопитающего, а это, скажем, кот. Или утконос. Вот утконос даже лучше - давай проинициадизируем человека утконосом. И что будет?

Ilya Zviagin
Как бы тут так : 0) конструирование и присваивание...

Вопрос же в другом, я разве отрицаю того что было сказано. Я просто спросил с точки зрения синтаксиса и компилятора это можно сделать или нет

Ilya Zviagin
Можно.

Спасибо. Теперь хотелось бы узнать как?

Suhrob
Спасибо. Теперь хотелось бы узнать как?

1 определить N конструкторов от N смежных классов 2 определить один конструктор от базового класса (по ссылке) и там определять динамический тип источника и там switch по типу и какие-то действия

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
5
Карта сайта