Introduction to OOP in c++


     Hey... Welcome to another episode of OOP with c++ post series. Today we are going to talk about very important topic in OOP. That is objects. What are objects? Why we want them.

Objects

     What are objects? Well objects are the real world things. Vehicles (Cars , bikes..etc) , Tools or instruments , humans , animals all those things we can consider as objects in OOP. 

     How objects are described or what are the components of objects? Well if we take car as the example, It has wheels, engine, seats,... etc. And it can be move or drive. If we take human as object he or she has a name, body parts, age, .... etc, and he or she can talk , walk, eat...etc.

     So the list goes on. What we can take from above examples is that objects have two major components.
An object has,
     1. Properties (State , Attributes)&
     2. Behaviors (Methods) .

For a car, wheels, number of seats,engine are it's properties. Driving is a behavior which belongs to car object. For humans, name,age,body parts are the properties and walking talking eating are the behaviors. I think you get the idea right! Properties means the things that belongs to an objects and behaviors are the things that objects can do... easy right!!

Did you know ?
     Although most of the Programming languages can be use to OOP and also for procedural programming(Normal Programming ;) ) . Java is known as a Pure Object Oriented Programming Language....

Abstraction.
     There is another important concept which is used in OOP called abstraction. What is abstraction.? When creating objects in a program we have to consider about the properties and behaviors of objects. If we consider a certain object it has so many properties and also it has so many behaviors. This is a trouble when creating objects. So instead of considering all the properties and behaviors of object we consider only on properties and behaviors which are important to us. 



     For example If we take car as the object and imagine you are a car sale owner. What are the properties most important to you in a car. Brand , Model , Engine capacity, top speed , price...etc. List goes on with normal things to promote the car. But instead of that list of properties there might be thousands of other properties to that car. But, they are useless for us car salesman s.  So what we do is omit all the unnecessary properties and behaviors and consider only on the ones important. This scenario is called Abstraction in OOP. 

      In object-oriented programming, abstraction is one of three central principles (along with encapsulation and inheritance). Through the process of abstraction, a programmer hides all but the relevant data about an object in order to reduce complexity and increase efficiency.

     Ok..!!! So we learned about two major concepts in OOP today. I'm hoping to talk and also use these concepts within programs.. Keep in touch.. C U in my next post.. Bye..  :)

C++ Data Types..

     

     Helllooo... Readers.... :) Welcome to inspire++. The blog that gives you sophisticated jokes about programming every week.!! ;)
     Hello people.. Did you guys do the homework I gave you in last post. Here I give you the answers.. Please check
 your answers with mine and try to find anything new to you.. 



     Right!! With the lesson from the last post we realized how to create variables. Today lets talk about types of variables which is more generally data types in c++. 
     Last time we learned how to store integer data in variables . Remember the int keyword.. There we talked about integer variables. There are several more data types in c++.Just  Like integers. 




2. Floating Point.

     So, what if we want to store a decimal number in a variable.. we can't store them in integer variables. So for that we have floating point variables. Floating point variables are used to store decimal point values. How to create them? Easy..!! Just like the way we create integers what we have to do is first, type keyword float, and then leave a space and then type a suitable name for your variable. For example float num1 ; . Don't forget the semicolon..!!!
     Right.. after that you can store any decimal value in it. num1 = 75.8262; . Easy!!  Try it your self.. 

3. Character Variables.
     Ok... after that we can talk about other data types. So.. instead of numbers what if we want to store any character value in a variable. There you have character variable. How to create them. Easy.. char space variable name. Ex:- char Letter;. Now you can store any character like A,B,C ... a,b,c... 1,2,3... But remember when you assign any character to your variable remember to use single quotes '.  Ex:-  Letter='A'; 

4. Boolean Variables.
     This data type might be a little bit confusing to you.. Specially , Why we want such data type. 
     In this Data type we store true and false values. Why we want to store true or false value.? Believe me there are so many times we want to use true or false as output in programming. So how to create this?? Type bool , and then a space and the name you want to give to your variable. now in simple letters you can assign either true OR false to your variable.  

5. Void.
     Void is a data type which is not used to create variables. Really!! Yes.. At this point I have to remind you that Data types are used not only to create variables, but also they are used to create arrays , functions etc. So this data type "void" is use in function defining. 

      So above 5 are known as the primitive data types. You can use them to create certain variables. 
     Now I'm going to tell about another important non primitive data type. string...

6. string
     Imaging you want to store a word , or a sentence as the data. What are the options u have.? you type string And then a space and a name for your string variable, finally semi colon. And you can store data in them by variable name assignment operator and the word or the sentence you want. Remember here when assigning data use double quotation marks " ".




     Ok.. now you know something about variables. Now what I want you to do is to make a program to store several data in suitable types of variables  and print them. This is what you have to do.

     Store these data about a student named  Lio ,who is 20 years old , height about 1.8288 , lives in colombo got Grade A for his Mathematics exam.
     Create suitable variables to store his name , age , city , height in meters city and grade for maths. And get them as the output.

     Do this Exercise and I will give you the answers in my next post. :)
     Bye.. C U Soon.. 
Start from the First post <<<

C++ Variables


     Helloo.. My favorite blog readers.. Welcome to the newest post from ispire++ blog. This post is the next post of our fundamental of programming post series . So don't get confused this with our new post series OOP.
     I gave you some homeworks in my last post. Did you do those. Well if you did here are the answers for them.

Last posts Homework answers ;)









So... last week I promised you to start to talk about c++ variables. Here lets start it. Variables are a kind of structure we use to hold data in a program. 
     We know that when we run a program, it runs on our RAM.(Random Access Memory) . In a program, when we want to store some data(Temporarily, Not on hard disk), We create variables. 
      For example, let say we want to store the age of a person. What we have to do is create a variable to hold that data age of a person. Age is measured by years, so it is we can consider as an integer value. So what exactly we want to do here is, create a variable to hold an integer data. And store our data (age) in it. 
How do we do this.
     We want an integer variable, so we type int first,
     Then we put a space, and then we type a suitable name for the variable, ie:- age.
Ok, and finally as always we type semicolon ; . Right! We now have officially created the first variable we ever created in c++. Weldone guys.. :) 



     
     Ok.. now after we created the variable, lets store something in it. In this example age. Let say the age of the person is 23. So what we do is , in a new line we type the name of our variable, age , and then we type equal sign(in c++ it is known as assignment operator) after that we type the value we want 23 and finally semicolon;. 
     Congratulations you have assigned a value to your variable. Now let's check the variable. In a new line let's start a code to print the value. Type, cout<<age; and build and run your program.




     See the output! It says 23 right!! That's the value we assigned to our variable. See how easy to create variables, assign values to them and use them!! 

     Now I want you to create 5 variables about 5 subjects of a student naming English, Programming, Drawing, Electrical, Fluid. And assign the marks values as follows 80, 83, 75, 80, 60. And then in your program write a code to take them as output. Do this as a homework I'll give you the answers in our next post. 
     Ok.. here I end up this post. Hoping to see you in my next post soon.. Bye..!! :)

Next post>>>

OOP :o :o :p (What is OOP , Why we want it)


     Hello Fellow Readers..  Welcome to inspire++ :) This post is specially for the people who are doing OOP now. Don't get confuse with this post , because we are still on the VARIABLES in our fundamental programming post series. OOP is a big set of lessons, so we have to do this also as a post series. This series will be continue parallel to our fundamental post series. OK... that being said..
Lets start..  

     When you have to create a big program , I mean really really big one , big enough to call it a software , we will have to do more and more coding. Sometimes we will have to re-type the same set of code-lines again and again. 


     This seems to be a big head-aching situation. So, as smart engineers what are the options do we have to do to reduce the time for coding and to reduce the pain occur when doing the same thing again and again.? 

     Well you might have the answer already. "C n P" or AKA Copy and Paste Method Right!! You type the set of code , copy it and paste wherever you want them to be in your source code. Easy!! 


     BUT!! it is not a wise method to follow for some Reasons. Imagine if there is an error or a Bug in your code , when you copy that set of codes to 20 different places in your source code , you will have the same error in 20 times and you will have to fix it 20 times repeatedly.  And imagine how your source code will look like. It will be very very long and it'll be really hard to keep working with .



  1. Duplicate code is a Bad Thing.
  2. More codes - Hard to work with. 

     So there is a big problem that haven't answered properly. Purpose of this post is to tell you how to solve this problem by introducing you the Concept of OOP-Object Oriented Programming. By the end of this post you will have an idea about what is OOP and Why we want it.


     Can you remember the lesson functions..Well in our Fundamental post series we haven't arrived that point yet, but I guess you guys have the idea of what is a function and how to use it..


     So in short, A function is a set of codes in your source code with a given name. It exist parallel to our main function. It does not do anything until we call it. Whenever we want we simply call the function in main function. 
     
     So instead of typing or copying the same set of code again and again in main function , we can create a function and call it when we want to execute them. This method is call function calling. So if there is any error in our code we only have to fix it in the function and whole program will fixed automatically. No need to fix same error 20 different places. 

     This concept is very helpful when understanding OOP. In software developing we use a developed version of this concept. Instead of using functions we use Classes and Objects  in OOP (Object Oriented Programming.) 

     By using Classes & Objects We Can,

  1.      Reduce duplicating codes.
  2.      Reduce the number of code lines in your main       function.

     And the whole program will become a User friendly neat and logical thing and it will be easy to work with. OK I think now you have an idea about why we want OOP right!!


     In OOP we create Classes - AKA the blueprints of the objects - Classes have Properties and Behaviors. And we create Objects (Real world things) using codes, and to make those objects feel real we encapsulate them, use inheritance and polymorphism to use them in advance. So as a terminology you can refer those red color words , those words will be the topics of our next posts. So stay with inspire++ to get a fully understand about OOP. Thank you guys..!! C U.. :) 
Next post>>>

Life of a Systems Engineer

  Hello, my dear readers. ✌😀✋ I'm talking to you after a very long time. And I am thrilled to talk-to and hear-from you after all thi...