ADVANCED FEATURES OF C++

37
A presentation on ADVANCED FEATURES OF C++ LITTERING STAR by BY

Transcript of ADVANCED FEATURES OF C++

Page 1: ADVANCED FEATURES OF C++

A presentation on ADVANCED FEATURES OF C++

GLITTERING STAR by

BY

Page 2: ADVANCED FEATURES OF C++

Introduction of c ++C WAS DEVELOPED IN THE 1970’S BY DENNIS RITCHIE OF AT AND T BELL LABSC++ WAS DEVELOPED IN THE EARLY 1980’S BY BJARNE STROUSTRUP OF AT AND BT BELL LABSC++ IS AN “EXTENSION” OF THE C LANGUAGE IN THAT MOST C PROGRAMS ARE ALSO C++ PROGRAMSC++ ,AS OPPOSED TO ,SUPPORTS ”OOPS”.

Page 3: ADVANCED FEATURES OF C++

ADVANCED FEATURES IN C ++

ABSTRACT CLASSEXCEPTION HANDLING

STANDARD LIBRARIESGENERIC PROGRAMMING

TEMPLATES STANDARD TEMPLATE LIBRARY-STL

PARAMETERIZING THE CLASS FILE HANDLING

Page 4: ADVANCED FEATURES OF C++

OBJECTCLASSSTATICCONSTRUCTORDESTRUCTORFRIEND CLASSFRIEND FUNCTIONINLINE FUNCTIONPOLYMORPHISMINHERITANCEABSTRACTIONENCAPSULATIONSCOPE RESOLUTION OPERATOR

Advanced features in c ++

Page 5: ADVANCED FEATURES OF C++

ABSTRACT CLASS ABSTRACT CLASS IS A BASE

CLASS USED FOR DERIVING PURPOSES ONLY.

WHICH CONTAIN ATLEAST ONE PURE VIRTUAL FUNCTION IN IT.IT COULD NOT BE USED FOR

CREATING OBJECTS

IT IS ASSOCIATE AN INITIALIZED WITHTHE VIRTUAL FUNCTION DECLARATION

PURE VIRTUAL FUNCTION

Page 6: ADVANCED FEATURES OF C++

EXAMPLE FOR ABSTRACT CLASS

FOOD IS AN EXAMPLE FOR ABSTRACT CLASS . MAKE AN INSTANCES OF AN APPLE OR A

STEAK OR A PEANUT BUTTER CUP.

steak applePeanut butter cup

Page 7: ADVANCED FEATURES OF C++

EXCEPTION HANDLINGAN EXCEPTION IS A SITUATION IN WHICH A

PROGRAM HAS AN UNEXPECTED CIRCUMSTANCES DURING PROGRAM EXECUTION

CLASSIFICATION OF EXCEPTION HANDLING

oTRY BLOCKoCATCH BLOCKS

oTHROW EXPRESSIONoEXCEPTION SPECIFICATION

Page 8: ADVANCED FEATURES OF C++

Standard librariesStandard library is classified into 2 types

Standard function libraryObject oriented class library

Standard function libraryThe library consists of general-purpose

And stand-alone functions that are not part of any class

l ibrary

Page 9: ADVANCED FEATURES OF C++

Object oriented class library

This library consists of a collection of classesAnd associated functions

Page 10: ADVANCED FEATURES OF C++

Generic programming1. STL USES GENERIC PROGRAMMING

THIS IS NOT OBJECT-ORIENTED PROGRAMMING.NO CLASS HIERARCHY , NO VIRTUAL DISPATCH. TEMPLATES ARE THE ENABLING FEATURES.2.BASED ON CONCEPT INSTEAD OF CLASSES

IF IT LOOKS LIKE A DUCK…IT IS A DUCK.TYPE MATTER LESS THAN THE OPERATIONS

IMPLEMENTED.FUNCTION ADAPT TO THEIR ARGUMENTS AT

COMPILE TIME.

Page 11: ADVANCED FEATURES OF C++

TEMPLATESTHE SAME CODE HAS TO BE REPEATED TO

CARRY OUT THE SAME FUNCTIONON DIFFERENT DATA TYPES . THIS WILL LEAD

TO WASTE OF TIME AND EFFORT. TOSOLVE THIS YOU CAN USE THE TEMPLATE

FACILITY

Syntax:Template<class type>

Page 12: ADVANCED FEATURES OF C++

TWITTER WHATSAPP

FACEBOOK

EXAMPLE

FOR

TEMPLATES

Page 13: ADVANCED FEATURES OF C++

Example program#include<iostream.h>

int max (int a,int b){

Return(a>b)?a:b;}

Float max(float a, float b){

Return(a>b)?a:b;}

Char max(char a, char b){

Return(a>b)?a:b;}

Void main(){

Cout<<kmax(20.30)<<endl;Cout<<max(4.5,6.7)<<endl;

Cout<<max(‘ a ’, ’ b ’)<<endl;}

Page 14: ADVANCED FEATURES OF C++

Standard templates libraryTHE STANDARD

TEMPLATE LIBRARY PROVIDE A

SET OF WELL STRUCTURESGENERIC C ++ COMPONENTSTHAT WORKS

TOGETHER IN A SEAMLESS WAY.

Page 15: ADVANCED FEATURES OF C++

STL HAD THREE BASIC COMPONENTS:

CONTAINERS

GENERIC CLASS TEMPLATES FOR STORING COLLECTION OF DATA.

ALGORITHMS

GENERIC FUNCTION TEMPLATES FOR OPERATING ON CONTAINERS.

ITERATORS

GENERALIZED ‘SMART’ POINTERS THAT FACILITATE USE OF CONTAINERS.

THEY PROVIDE AN INTERFACE THAT IS NEEDED FOR STL ALGORITHMS TO OPERATE ON STL CONTAINERS.

STRING ABSTRACTION WAS ADDED DURING STANDARDIZATION

Page 16: ADVANCED FEATURES OF C++

PARAMETERIZING THE CLASSParameterizing classes specify parameters that must be

Defined by any binding class.Parameterizing class is referred as class templates

Page 17: ADVANCED FEATURES OF C++

FILE HANDLINGA file is a collection of

related data stored in

a particular area onthe disk

Programs can be designed to Perform the read and write

operationsOn these files

Page 18: ADVANCED FEATURES OF C++

OBJECTIT IS A BASIS RUNTIME ENTITYAN OBJECT IS A COLLECTION OF DATA AND ASSOCIATEDMEMBER FUNCTION TO PERFORM VARIOUS TASK

Page 19: ADVANCED FEATURES OF C++

classClass is a group of object

Class is a collection of similar object or object of same type

Page 20: ADVANCED FEATURES OF C++

STATIC MEMBER OF A CLASS CAN CONTAIN STATIC MEMBER DATA AND STATIC MEMBER FUNCTION.IT MUST BE DECLARE WITH THE KEYWORD STATIC

STATIC MEMBER

STATIC DATA MEMBERWHEN OBJECT IS CREATED IT INTIALIZE

AS ZERO COPY OF ALL MEMBER IS CREATED WHEN

ENTIRE CLASS IS SHARED

STATIC MEMBER FUNCTIONA FUNCTION CAN BE INVOKED USING A CLASS NAME

IS CALLED STATIC MEMBER FUNCTION

Page 21: ADVANCED FEATURES OF C++

Constructor and destructorsCONSTRUCTOR

DESTRUCTOR

Constructor and destructor are special member

function of classes that are used to

create and destroy class object

Page 22: ADVANCED FEATURES OF C++

Types of constructorCopy constructorDynamic constructorDefault constructorParameterized constructor

Page 23: ADVANCED FEATURES OF C++

COPY CONSTRUCTORIt is a special type of constructor which will create an object as a

copy of a previously created object

Page 24: ADVANCED FEATURES OF C++

Dynamic constructorIt is used to allocate the memory to the object

To the runtime using new operator

RUNTIMEMEMORY ALLOCATE

OBJECT

Page 25: ADVANCED FEATURES OF C++

Default constructorIt is a constructor which doesn’t

Take any argument

Page 26: ADVANCED FEATURES OF C++

parameterized constructorWhen object is created it takes the

arguments with it

Page 27: ADVANCED FEATURES OF C++

FRIEND FUNCTIONA function that is declare with a keyword friend

is known as friend function.FRIEND FUNCTION IS USED TO ACCESS

THE PRIVATE DATA

Page 28: ADVANCED FEATURES OF C++

INLINE FUNCTIONIf the member function is

defined inside the class definitionIs called inline function

Page 29: ADVANCED FEATURES OF C++

polymorphismIT IS ABILITY TO TAKE MORE

THAN ONE FORM

Page 30: ADVANCED FEATURES OF C++

Types of polymorphism

COMPILE TIME POLYMORPHISMObject is bound to the function

call at the compile time

Eg: function and operator overloading

Compile time polymorphismRuntime polymorphism

Page 31: ADVANCED FEATURES OF C++

FUNCTION OVERLOADINGA function having same name but

performDifferent task for different instances

Page 32: ADVANCED FEATURES OF C++

Operator overloading

The process of making an operator to exhibit different

Behaviours in different instances

Eg: virtual function,pointers

Page 33: ADVANCED FEATURES OF C++

INHERITANCESInheritances is the process of forming a new classs byacquiring or inherited the properties of object of base class or existing class

Page 34: ADVANCED FEATURES OF C++

encapsulationWrapping upon data and function

into single entity

Page 35: ADVANCED FEATURES OF C++

Eg :

Tele

visi

on r

emot

e

Page 36: ADVANCED FEATURES OF C++

SCOPE RESOLUTION OPERATORS (::) ARE USED TO DEFINE A FUNCTION OUTSIDE A CLASS OR WHEN WE WANT TO

USE A GLOBAL VARIABLE BUT ALSO HAS A LOCAL VARIABLE WITH SAME NAME

Scope resolution operator

Page 37: ADVANCED FEATURES OF C++

THANK U FRIENDS