Variables:
int age = 30;
float pi = 3.14;
char initial = 'J';
bool is_valid = true;
daniel-skowronski / Object Oriented Program Design
Object Oriented Program Design
A comprehensive cheat sheet for C++ programming, Object-Oriented Programming (OOP), file I/O, classes, and its application in embedded systems, including communication protocols, OpenCV library, image and color processing, networking with sockets, 3D and PCB design, dynamic data management, version control, timing, threads, and Linux-Pi integration.
C++ Fundamentals & OOP
Basic Syntax & Data Types
|
Operators: |
Control Structures: |
Functions:
|
Pointers and References:
|
Memory Management:
|
Object-Oriented Programming (OOP)
Classes and Objects:
|
Encapsulation: |
Inheritance:
|
Polymorphism: |
Abstraction: |
Constructors and Destructors:
|
File I/O
Reading from a File:
|
Writing to a File:
|
File Modes: |
Embedded Systems & Communication
Embedded Systems Fundamentals
Microcontrollers: |
Real-Time Operating Systems (RTOS): |
Memory Types: |
Peripherals: |
Interrupts: |
Timers: |
Embedded Communication Protocols
UART (Universal Asynchronous Receiver/Transmitter): |
SPI (Serial Peripheral Interface): |
I2C (Inter-Integrated Circuit): |
CAN (Controller Area Network): |
Bluetooth: |
WiFi: |
Timing and Threads
Timing:
|
Threads:
|
Mutexes:
|
Image Processing & OpenCV
OpenCV Basics
Loading an Image:
|
Displaying an Image:
|
Image Data Structure: |
Basic Image Operations: |
Saving an Image:
|
Video Capture
|
Image and Color Processing
Image Filtering: |
Color Spaces: |
Thresholding: |
Color Detection: |
Morphological Operations: |
Histogram Equalization
|
Advanced Image Processing
Feature Detection: |
Object Detection: |
Image Segmentation: |
Networking, Data, and Version Control
Network Sockets
Creating a Socket:
|
Binding a Socket:
|
Listening for Connections:
|
Accepting a Connection:
|
Sending and Receiving Data:
|
Closing a Socket:
|
Dynamic Data and Memory Management
Dynamic Arrays:
|
Linked Lists: |
Smart Pointers: |
Memory Leaks: |
RAII (Resource Acquisition Is Initialization): |
Placement new
|
Version Control with Git
Basic Git Commands: |
Branching and Merging: |
Remote Repositories: |