Роман, про конструкторы по умолчанию я знаю и знаю, что компилятор, если я не сделал свой конструктор, сгенерирует его за меня. А последовательность вызова конструкторов я немного подзабыл, так как давно не работал с наследованием классов.
Да, знаю) У меня хватает этих минимальных знаний, поверьте;) и я сегодня как раз заглядывал в книгу "Оптимизация .net приложений". В итоге, на все вопросы, связанные с тем, как работает наследование под капотом, нашлись ответы и я всё понял. Я ж поэтому и лезу под капот, что знаний хватает)
потому что-то конструктор класса А может инициализировать поля которые потом нужны конструктора класса B.
А это уже относится к механизму наследования, да? Типа, если не определили свой собственный конструктор для и инициализации свойств класса В, то так как класс В наследуется от А, то можем воспользоваться конструктором класса А, да?
То есть у меня в параметрах создаётся новый объект myStr, в который передаётся значение str'a, а в самом методе происходит операция с уже новым объектом myStr?
То есть это нужно для того, чтобы в какой-то ситуации можно было сравнить два алгоритма по эффективности и выбрать лучший вариант для конкретной ситуации?