An open API service indexing awesome lists of open source software.

https://github.com/rakibul263/object-oriented-programming-using-cpp

Explore the fundamentals of Object Oriented Programming in C++ ๐Ÿš€ Code examples and explanations to master OOP concepts. #OOP
https://github.com/rakibul263/object-oriented-programming-using-cpp

Last synced: 3 months ago
JSON representation

Explore the fundamentals of Object Oriented Programming in C++ ๐Ÿš€ Code examples and explanations to master OOP concepts. #OOP

Awesome Lists containing this project

README

        

# Object-Oriented Programming Using C++ ๐Ÿš€

Explore the fundamentals of Object-Oriented Programming (OOP) in C++ through this repository! Dive deep into code examples and explanations to master key OOP concepts. #OOP

## About ๐ŸŒŸ

This repository is dedicated to teaching the principles of Object-Oriented Programming using C++. Each folder contains examples and explanations of various OOP concepts to help you understand and implement these principles in your own projects.

## Table of Contents ๐Ÿ“š

> [Classes & Objects](https://github.com/rakibul263/Object-Oriented-Programming-Using-CPP/tree/main/Classes%20%26%20Objects)
>

> [Constructor](https://github.com/rakibul263/Object-Oriented-Programming-Using-CPP/tree/main/Constructor)
>

> [Destructor](https://github.com/rakibul263/Object-Oriented-Programming-Using-CPP/tree/main/Destructor)
>

> [Abstraction](https://github.com/rakibul263/Object-Oriented-Programming-Using-CPP/tree/main/Abstraction)
>

> [Encapsulation](https://github.com/rakibul263/Object-Oriented-Programming-Using-CPP/tree/main/Encapsulation)
>

> [Inheritance](https://github.com/rakibul263/Object-Oriented-Programming-Using-CPP/tree/main/Inheritance)
>

> [Polymorphism](https://github.com/rakibul263/Object-Oriented-Programming-Using-CPP/tree/main/Polymorphism)
>

> [Shallow & Deep Copy](https://github.com/rakibul263/Object-Oriented-Programming-Using-CPP/tree/main/Shallow%20%26%20Deep%20Copy)
>

> [Static Keyword](https://github.com/rakibul263/Object-Oriented-Programming-Using-CPP/tree/main/Static%20Keyword)
>

## Concepts Covered ๐ŸŒ

### Classes & Objects ๐Ÿซ

- Learn the blueprint of creating objects.
- Detailed examples of class and object creation, usage, and manipulation.

### Constructor ๐Ÿ› ๏ธ

- Explore constructors, their types, and usage.
- Examples demonstrating parameterized constructors, default constructors, and copy constructors.

### Destructor ๐Ÿ’ฃ

- Understand the role of destructors in resource management.
- Examples showcasing when and how destructors are used.

### Abstraction ๐ŸŽญ

- Understand how to hide complex implementation details and show only the necessary features.
- Examples and explanations on how to achieve abstraction in C++.

### Encapsulation ๐Ÿ›ก๏ธ

- Learn how to bundle the data and methods that operate on the data within one unit.
- Examples illustrating how to protect data from unauthorized access.

### Inheritance ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ

- Dive into different types of inheritance and their usage.
- Examples demonstrating single, multiple, and multilevel inheritance.

### Polymorphism ๐ŸŽญ

- Understand the concept of polymorphism and its types.
- Examples of compile-time (method overloading) and runtime (method overriding) polymorphism.

### Shallow & Deep Copy ๐Ÿ“

- Learn the difference between shallow and deep copying of objects.
- Examples demonstrating how to implement deep copy constructors.

### Static Keyword โšก

- Understand the use of the static keyword in classes.
- Examples showing static data members and static member functions.

## Getting Started ๐Ÿš€

### Prerequisites

- Basic knowledge of C++ programming.
- Understanding of fundamental programming concepts.

### Installation

1. Clone the repository:

```bash
git clone https://github.com/rakibul263/Object-Oriented-Programming-Using-CPP.git
```

2. Clone the repository:

```bash
cd Object-Oriented-Programming-Using-CPP
```

## Usage ๐Ÿ“–

Each folder contains various code examples and explanations related to the specific OOP concept. Navigate to the specific folder to find the examples and read through the comments to understand the implementation.

## Contribution Guidelines ๐Ÿค

We welcome contributions! If you'd like to contribute, please follow these guidelines:

1. Fork the repository.
2. Create a new branch (`git checkout -b feature-branch`).
3. Commit your changes (`git commit -m 'Add some feature'`).
4. Push to the branch (`git push origin feature-branch`).
5. Create a Pull Request.

Please ensure that your contributions adhere to the coding standards and follow the existing folder structure.

## **Contact ๐Ÿ“ฌ**

If you want to get in touch, you can find me at:

- [GitHub](https://github.com/rakibul263)
- [LinkedIn](https://www.linkedin.com/home?originalSubdomain=bd)