• Как происходит выбор реализации интерфейса?

    @res2001
    vasx3, Эта дырка в знаниях никак не мешает понять ООП. Просто примите, что это так работает и идите дальше. Мне в свое время ни капли не мешало, что при изучении С++ я не знал как под капотом устроено наследование и виртуализация. Потом что-то сам додумал, что-то прочитал, хотя особой надобности в этих знаниях у меня нет и нигде это знание не пригодилось.

    В перечисленных вами языках я не в курсе как это реализовано. Предполагаю, что в C# примерно так же как и в плюсах, а PHP - интерпретируемый язык, тут вообще можно огороды городить.
  • Как происходит выбор реализации интерфейса?

    @res2001
    Как можно быть уверенным, что мне вернётся объект класса Bus, и что в нём будет метод openDoor?

    Никак. В вашем интерфейсе нет метода openDoor. Функция оперирующая интерфейсом имеет доступ только к методам объявленным в интерфейсе. Если нужно использовать openDoor, то вы должны принимать в параметре Bus, а не ICar.

    Но как происходит выбор класса который, в конечном итоге, возвращается в методе?

    О выборе правильно метода заботится ЯП, так что вы просто пользуйтесь.
    Если хочется деталей, то надо опускаться на уровень конкретного ЯП и смотреть как в нем реализовано наследование и виртуальные методы. В С++, например, это делается с помощью указателя на таблицу виртуальных методов - у предка она своя, у наследника своя, выбор нужного метода происходит "автоматически".
  • Как составить программу для перемещения файлов в иной каталог?

    @res2001
    coscocos,
    но такое выставлять как то стыдно

    Вы же только учитесь, в том что вы делаете ошибки при обучении нет ничего стыдного, все через это проходили.
    Кроме того вы можете выставлять не весь код, а только участок кода по которому задаете вопрос. Так же можно для вопроса специально написать коротенький тестовый пример и его выкладывать с вопросом.
  • Как составить программу для перемещения файлов в иной каталог?

    @res2001
    coscocos, 1. поддержка режима подсказки - видимо поддержка параметра /? на который будет выдаваться справочная страница по параметрам
    2. программа формирует коды завершения - в случае ошибки какой-то операции завершаться с кодом ошибки отличным от 0 (exit /b N)
    3. программа должна учитывать атрибуты файлов - видимо перемещать файлы только с указанными атрибутами. В каком-то виде xcopy это умеет. Узнать аттрибуты файлов можно командой attrib file.name (attrib /?)
    4. разбор и интерпретация командной строки (переменное количество параметров) - ну тут и так должно быть понятно. Через параметры командной строки вам надо получить каталог/файлы для переноса, набор аттрибутов файлов для переноса, ну и что-нибудь еще, что сами захотите
    5. и работа с конкретным каталогом (передается как параметр утилиты) - см.п.4

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

    А как это все учесть, я не знаю

    Учите мат.часть. Удивлен, что где-то учат батникам. Сейчас вместо них powershell обычно используют.
    Из ресурсов для обучения:
    1. На RSDN есть несколько статей "Уроки батаники"
    2. Все стандартные команды винды поддерживают опцию /? по ней выводят свою справку, в которой содержится масса полезных сведений. Даже такие команды как if и for имеют свою справочную страницу.
    3. "Серый форум" и forum.ru-board.com - есть разделы по батникам, там тусят продвинутые батаники, полно обсуждений, сложных вопросов, примеров, помогают в написании
  • Почему в оценке сложности алгоритма log n пишется без основания?

    @res2001
    Не знаю ответа.
    Но я думаю, что основание может быть разным в зависимости от алгоритма.
    Например в алгоритме поиска в бинарном дереве основание будет 2, потому что дерево бинарное.
    Если бинарное дерево заменить каким-нибудь другим, где из узла могут выходить 3 потомка, то основание будет 3 и т.п.
    В оценке не важны конкретные цифры, а важно то, что алгоритм работает с логарифмической сложностью, а не с N или N*N.

    И кстати, я иногда встречаю в оценках указание основания логарифма.
  • Как в c++ переписать целочисленные элементы из одного файла в другой?

    @res2001
    Олег Андреев, Конец файла возвращает метод eof(), а наличие ошибок good(), есть еще методы bad()и fail(), а так же приведение объекта потока к булевому типу.
    Смотрите тут: https://en.cppreference.com/w/cpp/io/basic_ios/eof
    В конце страницы есть табличка со сравнением различий всех методов проверки состояния. Выбирайте, какой вам больше по вкусу.
    Как правило чтение из файла оформляют так:
    while(in.good())
    {
       in.read()
    ...
    }
  • Как сократить запись?

    @res2001
    Фокс Йовович,
    2. Такие утверждения следует подкреплять бенчмарком.

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

    HoShik, если производительность важна, то лучше оставить код так как есть - это самый быстрый вариант. Для краткости, можно вынести сравнения в #define или inline функцию и использовать ее в коде.
    Многие парсеры (HTTP, JSON, XML), написанные на Си и используемые в проектах с большими нагрузками используют именно такой "многословный" подход и не пытаются экономить на строчках, т.к. скорость работы важнее красоты кода.
  • Как в c++ переписать целочисленные элементы из одного файла в другой?

    @res2001
    Олег Андреев, Перенесите открытие out1 и out2 перед циклом.
    Вот примерно одна из попыток.

    Все правильно, так и читайте. Но вам нужно проверять результат чтения на ошибки и на достижение конца файла (eof).
  • Как в c++ переписать целочисленные элементы из одного файла в другой?

    @res2001
    Вы используете объект ofstream - это объект для записи файлов, но при этом открываете его в режиме ios::in.
    Режим ios::out добавляется автоматически. В итоге вы открываете файл для чтения и для записи. Оно вам надо?
    Если надо, то логично было бы использовать объект fstream, а не ofstream. Если не надо, то убрать ios::in.

    Пробовал оператор

    Выложите код ваших попыток?
    В приведенном примере вы пока что генерируете рандомные числа и пишете их в 1 файл.
    Вам надо открыть еще 2 файла для отрицательных и для положительных чисел, так же как вы открываете первый файл (имя файла, конечно должно быть другим). А дальше просто:
    if(a>0) 
       запись в файл положительных чисел 
    else 
       запись в файл отрицательных чисел
  • Как ip сеть узнает о повторах ip? и как отключает?

    @res2001
    fsfsfs32, Никто винде не сообщает. Анализируется любой входящий трафик. А он будет, т.к. компы в сети постоянно шлют какой-нибудь спам.
    На этапе установки адреса работает вариант, который написал Rsa97
    Но винда обнаруживает двойные адреса не только при установке нового адреса: например заготовьте 2 компа с одним адресом не подключенным к сети, потом воткните их в сеть (не перезагружая) - двойные адреса будут обнаружены.
  • Как решается задача?

    @res2001
    Можно и так.
    У меня статистика до 2236 года вывелась)))

    2013 + 4500/20 = 2238 - это в 0 опустится, так что ваши 2236 - правильно.
  • Почему (unsigned long)1073741824 * 8 = 0?

    @res2001
    Для микросовтовского компилятора это верно.
    Но в целом все сложнее: https://en.cppreference.com/w/cpp/language/types
    Размер целых стандартом не определен, указывается только минимальный размер. Компиляторы могут варьировать эти размеры, не ниже минимального. Например для int указан минимальный размер 16 бит, для long - 32 бит, long long - 64 (п.5.2.4.2.1 Стандарта C11)

    https://docs.microsoft.com/en-us/cpp/cpp/data-type...
    https://www.gnu.org/software/gnu-c-manual/gnu-c-ma...
  • Первая попытка в ООП. Прошу оценить код. Что можно было бы исправить?

    @res2001
    Как видите у людей с грамматикой не всё в порядке, и они говорят лет после любого числа — непорядок, это нужно обязательно исправить

    Где это?
  • Почему не работает синхронизация времени с доменом?

    @res2001
    yura_born, Кстати, для синхронизации времени можно выбить покупку GPS приемника и брать время с GPS. Тогда у вас будет достаточно дешевый без интернетный свой собственный stratum 0.
  • Зачем ростелеком забрал 80 порт?

    @res2001
    Сергей Шиловский, В Apache эта фишка называется VirtualHost. Не на всех серверах включены VirtualHost. Там где крутится только один сайт это избыточно, поэтому на такие сайты можно ходить по IP. Да и с использованием VirtualHost можно одному из сайтов разрешить ходить и по IP то же.
  • Как в VB.net послать Ctrl+C определённому процессу?

    @res2001
    В WinAPI есть функция GenerateConsoleCtrlEvent она отправляет в консоль Ctrl-C. Вам осталось только найти identifier of the process group по идентификатору процесса.
  • Какой Vpn лучше всего замаскировать под Https?

    @res2001
    Ну и формулировочки, однако.
    Зачем ВПН шифровать? Он шифрованный по определению, иначе это не ВПН. При чем тут https. HTTPS хоть то же шифрованный, но к ВПН не имеет никакого отношения.
  • Где ошибка в програме?

    @res2001
    Этот вопрос лучше всего задать компилятору - он вам скажет где ошибка. Просто откомпилируйте программу.
    Если вам будет не понятно сообщение компилятора, то приложите его сюда вместе с кодом. Так будет всем проще.
  • Как сделать проверку элемента массива типа integer, если можно вводить что угодно любой длины(Cи, только stdio.h)?

    @res2001
    Budyla, Очевидно же - буква не введется в int, проверка делается внутри scanf, задается шаблоном.
    Вообще если хотите полный контроль над вводом, то придется отказаться от возможностей стандартной библиотеки, использовать raw режим терминала для вода, считывать ввод посимвольно и проверять его. Все это не слишком сложно, не интересно, не кросс-платформенно (хотя можно поискать кросс-платформенную библиотеку, которая умеет посимвольный ввод). Но в качестве практики программирования вполне нормальная задача.