This repository contains programs in the C++ programming language related to Object Oriented programming.
![](https://private-user-images.githubusercontent.com/105432776/258397706-1284d625-f4b2-403d-ae65-220bc47ee950.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4Mzk4OTEsIm5iZiI6MTczODgzOTU5MSwicGF0aCI6Ii8xMDU0MzI3NzYvMjU4Mzk3NzA2LTEyODRkNjI1LWY0YjItNDAzZC1hZTY1LTIyMGJjNDdlZTk1MC5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwNlQxMDU5NTFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1hYjk5OGUzMGUzMjg3MDFkYjBjMmQ2YjEzMjkwOGU4YTU5YzFkOTg1YTM0MGIwZWI4MTdlODVlNTU0NzE1MGI2JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.GacWGNJVWe9X119qcjjUgNP1BmM01N5Myn_iYmGiWAA)
--> C++ is a cross-platform language that can be used to create high-performance applications.
--> C++ was developed by Bjarne Stroustrup, as an extension to the C language.
--> C++ gives programmers a high level of control over system resources and memory.
--> C++ is an object-oriented programming language which gives a clear structure to programs and allows code to be reused, lowering development costs.
--> GCC stands for GNU C/C++ Compiler.
--> To begin with GCC, visit the official website
--> Download GCC according to the platform being used like Linux, MacOs or Windows.
--> Follow the setup wizard.
--> Write c++ code in any text editor or IDE and save it with .cpp extention.
--> Then just open the console and run this command -
g++ filename.cpp -o Output
--> Filename is the name of the C++ script file and Output is the name of the output file.
--> After this command is executed, if the code is successfully compiled output file will be saved in the same location as the code file.
--> Once this Output file is executed in command prompt, the output will be displayed.
![](https://private-user-images.githubusercontent.com/105432776/258397024-3062241f-9f30-4a81-a0bc-9627eaa39f5c.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4Mzk4OTEsIm5iZiI6MTczODgzOTU5MSwicGF0aCI6Ii8xMDU0MzI3NzYvMjU4Mzk3MDI0LTMwNjIyNDFmLTlmMzAtNGE4MS1hMGJjLTk2MjdlYWEzOWY1Yy5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwNlQxMDU5NTFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT03YzI5YzQ2N2I1MDkwNDU4MzgxZjM3OTRmYjEwMTIzZjA2ODA2YmNmYjdmNjVkYmRhZGQ3N2U0M2I3YWYzZjgzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.n-8wMJ5nWB0F_nMm8CeqFIUjtl21yDikmln4p8M2jmQ)
![](https://private-user-images.githubusercontent.com/105432776/258401445-a5982638-92e3-4920-9b67-c0b60ff2ffd7.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4Mzk4OTEsIm5iZiI6MTczODgzOTU5MSwicGF0aCI6Ii8xMDU0MzI3NzYvMjU4NDAxNDQ1LWE1OTgyNjM4LTkyZTMtNDkyMC05YjY3LWMwYjYwZmYyZmZkNy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwNlQxMDU5NTFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT01NTgyMjczODc5YWZiYzg1NGZhNDMyZjQ5NzZkNGQwMjJjZGQwZjg4MDllOTI3N2Y3MGJlNDkxNTEzYmI0YzUyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.Yz4anYtjYc_t2UwSTLBlYShuoKwZ22aeM7Cuco2q0xQ)
--> The building block of C++ that leads to Object-Oriented programming is a Class.
--> It is a user-defined data type, which holds its own data members and member functions, which can be accessed and used by creating an instance of that class. --> A class is like a blueprint for an object.
--> An Object is an identifiable entity with some characteristics and behavior.
--> An Object is an instance of a Class. When a class is defined, no memory is allocated but when it is instantiated (i.e. an object is created) memory is allocated.
--> Data abstraction is one of the most essential and important features of object-oriented programming in C++.
--> Abstraction means displaying only essential information and hiding the details.
--> In normal terms, Encapsulation is defined as wrapping up data and information under a single unit.
--> In Object-Oriented Programming,Encapsulation is defined as binding together the data and the functions that manipulate them.
--> The word polymorphism means having many forms.
--> In simple words, we can define polymorphism as the ability of a message to be displayed in more than one form.
--> The capability of a class to derive properties and characteristics from another class is called Inheritance.
--> Inheritance supports the concept of “reusability”, i.e. when we want to create a new class and there is already a class that includes some of the code that we want, we can derive our new class from the existing class.
--> In dynamic binding, the code to be executed in response to the function call is decided at runtime.
--> C++ has virtual functions to support this.
--> Because dynamic binding is flexible, it avoids the drawbacks of static binding, which connected the function call and definition at build time.
--> Objects communicate with one another by sending and receiving information.
--> A message for an object is a request for the execution of a procedure and therefore will invoke a function in the receiving object that generates the desired results.
--> Message passing involves specifying the name of the object, the name of the function, and the information to be sent.
Drop a 🌟 if you find this repository useful.
If you have any doubts or suggestions, feel free to reach me.
📫 How to reach me: