Отличный курс! Спасибо огромное! Просто супер!!!👍💯
@donlinoleum8318 ай бұрын
Здорово! Очень жду продолжение!
@Andrei-cv1kn8 ай бұрын
Спасибо огромное! Ждем продолжения!
@szapsis8 ай бұрын
Спасибо за твой труд друг!
@_pozitivman8 ай бұрын
Сергей, Большое Вам спасибо за Ваш труд!!! Очень хорошие уроки!!! Ёмко, доходчиво, темп повествования, приятная на слух речь!!! Сейчас смотрю Уроки по Си/Си++. Скажите, планируете ли Вы делать серию уроков по фреймворку QT (как расширенная версия уроков по С++) для новичков? Очень не хватает в русскоязычном пространстве такого материала.
@Alex_Veresov8 ай бұрын
Как всегда, манера подачи на высоте. Благодарю за ваш труд. Вот такой вариант, будет являться конструктором преобразования? struct Feet { private: double length; public: Feet(double len) : length(len) {}; Feet(int meters) : length(meters * 3.28084) {}; void display() { std::cout
@selfedu_rus8 ай бұрын
Спасибо! Да, у вас два перегруженных конструктора преобразования.
@Alex_Veresov8 ай бұрын
@@selfedu_rusСергей, благодарю за ответ. Подскажите, почему в моём примере два конструктора преобразования? Насколько я понял материал, конструктор преобразования, предназначен для автоматического преобразования одного типа данных в другой при создании объекта. По сути первый конструктор не делает никакого преобразования, является самостоятельным конструктором с параметрами: Feet(double len) : length(len) {};
@andredru42786 ай бұрын
Спасибо. Хороший урок.
@РусланКарнеенко8 ай бұрын
Спасибо
@legendaryyt537 ай бұрын
Можете, пожалуйста, подсказать? Я не могу понять, для чего мы в функции add возращаем адрес указателя ? Помогите пожалуйста
@bioxoid7 ай бұрын
Начало #include class Complex { double re; double im; public: Complex() : re(0.0), im(0.0) { } Complex(double real) : re(real), im(0.0) { } Complex(double real, double imag) : re(real), im(imag) { } void get_data(double& re, double& im) { re = this->re; im = this->im; } }; int main() { return 0; }
@bioxoid7 ай бұрын
конечная версия кода в этом занятии. исправление ошибки (освобождение одной и той же памяти два раза) в следующем уроке ----------------------------- #include class PointND { unsigned total {0}; int *coords {nullptr}; public: PointND() : total(0), coords(nullptr) { } PointND(unsigned sz) : total(sz) { coords = new int[total] {0}; } PointND(int* cr, unsigned len) : total(len) { coords = new int[total]; set_coords(cr, len); } ~PointND() { delete[] coords; } unsigned get_total() { return total; } const int* get_coords() { return coords; } void set_coords(int* cr, unsigned len) { for(unsigned i = 0; i < total; ++i) coords[i] = (i < len) ? cr[i] : 0; } }; int main() { PointND pt(5); PointND pt2 {pt}; return 0; }
@marekbojarovic93838 ай бұрын
Сделайте пожалуйста мини курс по языку MOJO, былобы очень интересно
@alexeyxopyc24712 ай бұрын
как то не интуитивно) на 6:40 по времени, почему при передаче вещественного числа вызывается конструктор создания нового объекта? ну тоесть я понимаю, если бы был перегруженный метод с указанием типа double в параметрах const Complex& add(double d) {} и в теле мы бы сами создавали новый объект Complex a=Complex(d) и уже складывали... а по какой причине он сам создает новый объект, если в параметрах указана ссылка на объект, а передаем вещественное?)
@Imstudyml7 ай бұрын
Что делает explicit я понял, но не понятны сценарии когда необходимо его использовать 🤔 Может есть какой-нибудь простой пример где explicit необходим?
@selfedu_rus7 ай бұрын
не берите в голову, пока просто запомните, использовать его нужно только тогда, когда вы явно увидите, что это необходимо в программе
@абвгдеёж-м3н8 ай бұрын
Здравствуйте! А есть ли преимущество в том, чтобы передавать в геттер параметры по ссылки для хранения, а также использование в этом геттере this, как вы сделали в 1ом примере? Может, это лучше в соображениях безопасности или, например, это будет удобнее при масштабировании проекта? Я всегда делал более примитивно : геттер возвращал значения, а вместо this делал присваивание самих полей. Есть какая-то существенная разница или разницы нет и кому как удобнее?
@selfedu_rus8 ай бұрын
1. По ссылке лучше передавать объемные данные, чтобы проц не тратил время на создание их копий (ссылки часто обозначаются константными). 2. Обращение к поля с this и без this - это одно и то же ))
@абвгдеёж-м3н8 ай бұрын
@@selfedu_rus понял, спасибо. Вопрос ни о чем конечно) Просто не задумывался раньше о том чтобы геттер сделать войд функцией
@ВладиславРоманиченко8 ай бұрын
Здравствуйте! Пожскажите, пожалуйсиа, эти уроки по ООП плпнируются в прозе на инфо-сайте?
@selfedu_rus8 ай бұрын
да
@ГущинАндрей-ч5ы8 ай бұрын
Ахахах, интрига) А можно, например, создать класс Reader, в конструкторе которого открывается файл, а в деструкторе файл закрывается? Насколько этот приём присущ ушлому программисту, и встречается ли вообще такое в практике?
@selfedu_rus8 ай бұрын
Запросто! Ничего особенного в таком подходе.
@ГущинАндрей-ч5ы8 ай бұрын
@@selfedu_rus спасибо
@toxik7628 ай бұрын
Привет Что😮😮 Как оно иницыализировало объект когда передался объект этого же класа? Как это?... Сори но это реально как камасутра какая то выглядит...
@selfedu_rus8 ай бұрын
подробнее этапы жизни объекта будут дальше по курсу