Wednesday, 10 August 2016

Introduction to C++

C++
C++ is a middle-level programming language developed by Bjarne Stroustrup in 1979 at Bell Labs.
C++ runs on a variety of platforms, such as Windows, Mac OS, and the various versions of UNIX.
C++ is a statically typed, compiled, general-purpose, case-sensitive, free-form programming language that supports procedural, object-oriented, and generic programming.
C++ is known as a middle-level language, as it is having features of both high-level and low-level language features.
C++ is a superset of C,C++ is derived from C Language.
Object-Oriented Programming
C++ fully supports object-oriented programming, including the four pillars of object-oriented development:
·        Class
·        Object
·        Encapsulation
·        Data Abstraction
·        Inheritance
·        Polymorphism
·        Message Passing
Class
It is similar to structures in C language. Class can also be defined as user defined data type. Class contains data members and member functions in it. It declares & defines what data variables the object will have and what operations can be performed on the class's object.
Object
Objects are the basic run time entity. They are instances of class, which have data members and use various member functions to perform tasks. Object is also known as class type of variable.
Encapsulation
Encapsulation is the process to wrapping the data and functions into the single unit(class).It is one the most useful feature of the class. Data are not accessed outside the class and only function inside the class can access it. It is also called data hiding.
Abstraction
Abstraction is act of representing essential features without including the background details. We can create class as abstract class to perform this feature of abstraction.
Inheritance
Inheritance is the process of creating new class from the existing class. Existing class is known as base class and new class is called derived class. It is a way to reuse the code again and again. So when a class is derived from base class it can have some or all features of the base class and it can have its own feature too.
Polymorphism
One name multiple forms. With this feature we can create functions with same name but different arguments. So function name is same but definition and signature of functions is different.
Message Passing
Objects can communicate with each other. It requires creating classes, creating objects of classes and establishing communication between objects.
Benefits of object oriented programming
Code Reusability: Feature of inheritance allow to eliminate redundant code and extend the use of existing class
Data Hiding: It can help to build secure programs.
Message Passing: Message communication between objects makes interface simpler
It implements like real life scenario
It is easy to partition the work on the class and object base
Easily upgraded from small to large systems and easy to update and maintain the programs
Different between C and C++
C
C++
C is procedural oriented programming language
C++ is object oriented programming language
C is subset of c++
C++ is superset of c
C does not support data hiding
C++ supports data hiding
C is functional driven language
C++ is object driven language
Being procedure oriented programming language it has no support for polymorphism, inheritance, encapsulation
Being Object oriented programming language it has support for polymorphism, inheritance, encapsulation
C does not support function overloading and operator overloading
C++ support function overloading and operator overloading
C does not provide error handling
C++ provides error handling with “exception handling”
C does not have feature of class
In C++ data and functions are encapsulated together in class
C does not support reference variable
C++ supports reference variable

Different between Procedure Oriented and Object Oriented
Procedure Oriented
Object Oriented
C, VB, Fortron
C++,java,vb.net
Program is divided in to small parts called function
Program divided into parts called object
Functions are given more important than data
Data are given more important than functions
Data can move freely from function to function
Objects can move and communicate with each other
It follows top to bottom approach
It follows bottom up approach
It cannot hide the data
It can hide the data so more secure
It does not have any access specifier
It has acces specifier like public,private,protected
It is based on function only
It has various featured like overloading, encapsulation, abstraction, inheritance, message passing


No comments:

Post a Comment