/oop-in-cpp

A guide to learn Object-Oriented Programming, written in C++

OtherNOASSERTION

The Ultimate Guide to Object-Oriented Programming in C++

the ultimate

1.0 Contents

  1. Abstraction: English | Español
  2. Encapsulation: English | Español
  3. Inheritance: English | Español
  4. Polymorphism: English | Español

1.1 Scope

This guide provides a fundamental, introductory explanation of Object-Oriented programming. As the audience is quite diverse and includes beginners in programming, it may not be the most suitable approach to incorporate all the best coding practices in this guide right away. I am open to continuous improvement on its content (and I will certainly do my best to adjust it to current C++ practices), but I will not do it in a way that results in a less comprehensible content.

2. Release notes (1.0.0)

This is the first edition of this guide. You may notice that certain topics may need further development, particularly the topic of polymorphism, and you may also observe some overlap among the principles of object-oriented programming. Nevertheless, I wanted to release an initial version quickly and be able to proceed with other projects and obligations that I have pending.

Topics to be included in the next release:

  • Relationships between classes (association, aggregation, composition, dependency)
  • Testing and debugging of object-oriented code
  • Object-oriented design patterns

"I want to help you improve this guide. How can I do it?"

If you have any feedback regarding the contents of this guide, such as corrections or possible additions, please create a new issue here. This will allow me to keep track of future modifications that need to be implemented. I greatly appreciate the valuable feedback I have received from users. However, please note that I prioritize suggestions that are submitted through the appropriate channels.

3. Author

  • Facundo Martínez © 2023

4. Licensing

The content of this repository is licensed under CC BY-NC-SA 4.0

If you are interested in using the contents of this repository for commercial purposes, please contact me privately to reach an agreement.

💙 Contributing

I love creating free content for everyone. If my articles and repos were useful to you, please consider supporting me on Github Sponsors, Ko-Fi or PayPal. It would be of great help and I would really appreciate it!

Github-sponsors Ko-Fi PayPal