Comments 6
Вообще, думаю, что некоторые из этих принципов можно применить в процедурном стиле не сильно привязываясь к стандартному синтаксису ООП.
По теме могу порекондовать ознакомиться с этим видеокурсом, с упором на встраиваемые системы, но суть та же. Автор очень подробно показывает, что "под капотом" у механизмов ООП, скрытых компилятором С++.
https://www.state-machine.com/video-course
Конкретно лекции:
#29 OOP Part-1: Encapsulation (classes) in C and C++
#30 OOP Part-2: Inheritance in C and C++
#31 OOP Part-3: Polymorphism in C++
#32 OOP Part-4: Polymorphism in C
Спасибо, ознакомлюсь. А так пока в планах с чат-гпт напополам созданный алгоритм по определению принадлежности треугольнику(Я узнал 3 способа сделать это, но всё оказалось проще, когда узнал про смысл cross-product. А там звёзды и сошлись с принципами работы OpenGL) развивать и публиковать по-тихоньку.
Тоже Миро Самека вспомнил на первых строках прочтения
struct EmployeeClass {
const char* name;
char[4];
// Пустые байты, чтоб соответствовать размеру. (См. P. S. для большей информации)
// WARNING: Довольно платформо-специфично, требует дополнительных проверок,
// которые я ещё не проводил
};А что за «специфичная платформа»™ подобное за С17 примет и не подавится? Для друга интересуюсь.
О различных ошибках при выполнении примеров кода прошу сообщать в комментарии, если они не указаны заранее.
Попробуйте сами их хотя бы собрать, если не сделали это до публикации.
Как-то мне однажды написали, что массивы существуют физически, а не как ссылка на первый элемент и размер, охватывающий все последующие.
А еще можно сишный букварь открыть (абсолютно любой) и не путать имя массива и его представление в памяти, ну и указатели со ссылками.
ООП и Синглтон (на примере простого консольного рендера) в Си