PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT...

106
PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Transcript of PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT...

Page 1: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

PREPARED BY:

SUMIT DHARIWAL

(DEPARTMENT OF CSE)

Presentation on

C++ Basic Elements

Prepared By:SUMIT DHARIWAL (Department of CSE)

Page 2: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Objective of Session:

Generation of Computer Programming:

Comparison Between OOP and POP:

Characteristics of good programming language:

Character Set

Tokens

Precedence and Associatively

Data Types

Variables

Program Structure

Operators, Expressions

Statements and control structures

I/O operations

Array

Functions

Prepared By:SUMIT DHARIWAL (Department of CSE)

Page 3: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Generation of Computer Programming:

Period of Employment

Programming language

Characteristics

1940s Machine Lang. 1.Machine Dependent.2.Faster Execution.3.Difficult to use and understand.4.More Prone to errors.

1950 Assembly lang. 1.Machine Dependent.2.Faster Execution.3. More Prone to errors.4.Relativly simple to use.

1950-1970 Fortran ,Lisp, Cobol,Algol60Basic, APL

1.High Level Lang.2.Easy to develop and Understand.3.Less prone to error.

1970-1990 C,C++,forth,Prolog,Smalltalk,Ada,Perl,Sql

1.Very High Level Lang.2.Easier to learn.3.High Portable

1990 Java , HTML,XML,PHP,C#, VB

1.Internet Based Lang.2.Object Oriented Lang.3.More efficient.4.Reliable and Robust.

Page 4: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Comparison Between OOP and POP:OOP POP

Data are Secured Not Secured

Data & Functions are combined together Data & Functions not combined together

This is a good programming approach for real time software design.

This is a good programming approach for Scientific application development.

All feature of POP may be present in OOP Features of OOPs are not supported

We can define an abstract data type which describes all objects of a class

We can not define abstract data type

Object communicate with each other by message passing.

May function can access same data.

Bottom up Design Concept is follow Top down design concept is follow

Object is created and communication is done by sending message to them

Communication is done by parameter and return value.

Object Exchange message with each other. Data are exchanged between procedure under control of the main program

Data Structure are designed such that they characterized the object

Emphasis is on doing things algorithm

Page 5: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Characteristics of good programming language:

1. The Lang. must allow the programmer to write simple, clear

and concise program.

2. The lang. must be simple to use so that a programmer can

learn it without any explicit training.

3. The glossary used in the lang. should be very close to the one

used human lang.

4. The function library used in the lang. should be well

documented.

5. The program developed in the lang. must make efficient use of

memory as well as other computer resources.

Page 6: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

C++ CHARACTER SET

Character set is a set of valid characters that a

language can recognize.

Letters A-Z, a-z

Digits 0-9

Special

Characters

Space + - * / ^ \ () [] {} = != <> ‗

― $ , ; : % ! & ? _ # <= >= @

Formatting

characters

backspace, horizontal tab, vertical

tab, form feed, and carriage return

Page 7: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

TOKENS

A token is a group of characters that logically belong together. The programmer can write a program by using tokens. C++ uses the following types of tokens.

Keywords Identifiers Literals Punctuators Operators

Page 8: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Keywords

These are some reserved words in C++ which have

predefined meaning to compiler called keywords. Some

commonly used Keyword are given below:

Prepared By:SUMIT DHARIWAL (Department of CSE)

Page 9: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Identifiers

Symbolic names can be used in C++ for various data items used

by a programmer in his program. A symbolic name is generally

known as an identifier. The identifier is a sequence of characters

taken from C++ character set. The rule for the formation of an

identifier are:

An identifier can consist of alphabets, digits and/or underscores.

It must not start with a digit

C++ is case sensitive that is upper case and lower case letters are

considered different from each other.

It should not be a reserved word.

Prepared By:SUMIT DHARIWAL (Department of CSE)

Page 10: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Literals

Literals (often referred to as constants) are data items that

never change their value during the execution of the

program. The following types of literals are available in C++. Integer-Constants Character-constants Floating-constants Strings-constants

Page 11: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Integer Constants

Integer constants are whole number without any fractional

part. C++ allows three types of integer constants.

Decimal integer constants : It consists of sequence of digits

and should not begin with 0 (zero). For example 124, - 179,

+108.

Octal integer constants: It consists of sequence of digits

starting with 0 (zero). For example. 014, 012.

Hexadecimal integer constant: It consists of sequence of

digits preceded by ox or OX.

Page 12: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Character constants

A character constant in C++ must contain one or more

characters and must be enclosed in single quotation marks.

For example 'A', '9', etc. C++ allows nongraphic characters

which cannot be typed directly from keyboard, e.g.,

backspace, tab, carriage return etc. These characters can be

represented by using an escape sequence. An escape

sequence represents a single character. The following table

gives a listing of common escape sequences.\a Bell (beep)

\n Newline

\r Carriage Return`

\t Horizontal tab

\0 Null Character

Page 13: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Floating constants

They are also called real constants. They are numbers having

fractional parts. They may be written in fractional form or

exponent form. A real constant in fractional form consists of

signed or unsigned digits including a decimal point between

digits. For example 3.0, -17.0, -0.627 etc.

Prepared By:SUMIT DHARIWAL (Department of CSE)

Page 14: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

String Literals

A sequence of character enclosed within double quotes is

called a string literal. String literal is by default

(automatically) added with a special character \0' which

denotes the end of the string. Therefore the size of the string

is increased by one character. For example "COMPUTER" will

represented as "COMPUTER\0" in the memory and its size is

9 characters.

Page 15: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Punctuators The following characters are used as punctuators in C++.

Brackets [ ] Opening and closing brackets indicate single and multidimensional array subscript.

Parentheses ( ) Opening and closing brackets indicate functions calls,; function parameters for grouping expressions etc.

Braces { } Opening and closing braces indicate the start and end of a compound statement.

Comma , It is used as a separator in a function argument list.

Semicolon ; It is used as a statement terminator.

Colon : It indicates a labeled statement or conditional operator symbol.

Asterisk * It is used in pointer declaration or as multiplication operator.

Equal sign = It is used as an assignment operator.

Pound sign # It is used as pre-processor directive.

Page 16: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Operators

Operators are special symbols used for specific purposes. C++

provides six types of operators.

Arithmetical operators

Relational operators

Logical operators

Unary operators

Assignment operators

Conditional operators

Special Operator

(Comma operator.)

Page 17: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Arithmetical operators

Arithmetical operators +, -, *, /, and % are used to performs

an arithmetic (numeric) operation. You can use the operators

+, -, *, and / with both integral and floating-point data types.

Modulus or remainder % operator is used only with the

integral data type. Operators that have two operands are

called binary operators.

Page 18: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Relational operators

The relational operators are used to test the relation between

two values. All relational operators are binary operators and

therefore require two operands. A relational expression

returns zero when the relation is false and a non-zero when it

is true. The following table shows the relational operators.

Relational Operators Meaning

< Less than

<= Less than or equal to

== Equal to

> Greater than

>= Greater than or equal to

! = Not equal to

Page 19: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Logical operators

The logical operators are used to combine one or more

relational expression. The logical operators are:

Operators Meaning

|| OR

&& AND

! NOT

Prepared By:SUMIT DHARIWAL (Department of CSE)

Page 20: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Unary operators

C++ provides two unary operators for which only one

variable is required.

For Example a = - 50;

a = + 50; Here plus sign (+) and minus sign (-) are unary

because they are not used between two variables.

Page 21: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Assignment operator

The assignment operator '=' is used for assigning a variable

to a value. This operator takes the expression on its right-

hand-side and places it into the variable on its left-hand-side.

For example: m = 5; The operator takes the expression on the

right, 5, and stores it in the variable on the left, m. x = y = z

= 32; This code stores the value 32 in each of the three

variables x, y, and z. in addition to standard assignment

operator shown above, C++ also support compound

assignment operators.

Page 22: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Compound Assignment Operators

Operator Example Equivalent to

+ = A + = 2 A = A + 2

- = A - = 2 A = A – 2

% = A % = 2 A = A % 2

/= A/ = 2 A = A / 2

*= A * = 2 A = A * 2

Page 23: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Increment and Decrement Operators

C++ provides two special operators '++' and '--' for

incrementing and decrementing the value of a variable by 1.

The increment/decrement operator can be used with any type

of variable but it cannot be used with any constant. Increment

and decrement operators each have two forms, pre and post. The syntax of the increment operator is: Pre-increment: ++variable Post-increment: variable++ The syntax of the decrement operator is: Pre-decrement: ––variable Post-decrement: variable––

Page 24: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

In Prefix form first variable is first incremented/decremented, then

evaluated.

In Postfix form first variable is first evaluated, the

incremented/decremented

int x,y;

int i=10,j=10;

x = ++i; //add one to i, store the result back in x

y= j++; //store the value of j to y then add one to j

cout<<x; //11

cout<<y; //10

Page 25: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Conditional operator

The conditional operator ?: is called ternary operator as it

requires three operands. The format of the conditional

operator is:

Conditional_ expression ? expression1 : expression2;

If the value of conditional expression is true then the

expression1 is evaluated, otherwise expression2 is evaluated.

int a = 5, b = 6; big = (a > b) ? a : b; The condition evaluates

to false, therefore biggets the value from b and it becomes 6.

Page 26: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

The comma operator

The comma operator gives left to right evaluation of

expressions. When the set of expressions has to be evaluated

for a value, only the rightmost expression is considered. int

a=1, b=2, c=3, i; // comma acts as separator, not as an

operator i = (a, b); // stores b into i Would first assign the

value of a to i, and then assign value of b to variable i. So, at

the end, variable i would contain the value 2.

Page 27: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

The sizeof operator

As we know that different types of Variables, constant, etc.

require different amounts of memory to store them The sizeof

operator can be used to find how many bytes are required for

an object to store memory. For example sizeof (char) returns

1 sizeof (int) returns 2 sizeof (float) returns 4 If k is integer

variable, the sizeof (k) returns 2. the sizeof operator

determines the amount of memory required for an object at

compile time rather than at run time.

Page 28: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

The order of Precedence

The order in which the Arithmetic operators (+,-,*,/,%) are

used in a. given expression is called the order of precedence.

The following table shows the order of precedence.

Order Operators

First ()

Second *, /, %

Third +, -

Page 29: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

The following table shows the precedence of operators.

++, --(post increment/decrement)

HighestToLowest

++ (Pre increment) -- (Pre decrement), sizeof ( ), !(not), -

(unary),

+(unary)

*,/, %

+, -

<, <=, >, >=

==,!=

&&

?

=

Comma operator

Page 30: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

BASIC DATA TYPES

C++ supports a large number of data types. The built in or

basic data types supported by C++ are integer, floating point

and character. These are summarized in table along with

description and memory requirement.

Page 31: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

BASIC DATA TYPES Cont…

Page 32: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Built-in-type

Integral type . The data types in this type are int and char.

The modifiers signed, unsigned, long & short may be applied

to character & integer basic data type. The size of int is 2

bytes and char is 1 byte.

Page 33: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

i) To specify the return type of a function when it is not

returning any value. ii) To indicate an empty argument list to

a function. Ex- Void function1(void) iii) In the declaration of

generic pointers. EX- void *gp

A generic pointer can be assigned a pointer value of any

basic data type.

Ex . int *ip // this is int pointer

gp = ip //assign int pointer to void.

void . void is used for.

Page 34: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Floating type

The data types in this are float & double. The size of the float

is 4 byte and double is 8 byte. The modifier long can be

applied to double & the size of long double is 10 byte.

Page 35: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

User-defined type:

i) The user-defined data type structure and union are same as

that of C.

ii) Classes . Class is a user defined data type which can be

used just like any other basic data type once declared. The

class variables are known as objects.

Page 36: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Enumeration

i) An enumerated data type is another user defined type which

provides a way of attaching names to numbers to increase

simplicity of the code.

ii) It uses enum keyword which automatically enumerates a list

ofwords by assigning them values 0, 1, 2,..etc.

iii) Syntax:-

enum shape { circle, square, triangle }

Now shape become a new type name & we can declare new

variables of this type.

EX . shape oval;

Page 37: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Enumeration Cont….

iv) In C++, enumerated data type has its own separate type.

Therefore c++ does not permit an int value to be

automatically converted to an enum value. Ex. shape shapes1

= triangle, // is allowed shape shape1 = 2; // Error in c++

shape shape1 = (shape)2; //ok

v) By default, enumerators are assigned integer values starting

with 0, but we can over-ride the default value by assigning

some other value.

EX:- enum colour {red, blue, pink = 3}; it will assign red to

o, blue to 1, & pink to 3 or enum colour {red = 5, blue,

green}; it will assign red to 5, blue to 6 & green to 7.

Page 38: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Derived Data types

Arrays An array in c++ is similar to that in c, the only difference is

the way character arrays are initialized. In c++, the size

should be one larger than the number of character in the

string where in c, it is exact same as the length of string

constant.

Ex - char string1[3] = .ab.; // in c++

char string1[2] = .ab.; // in c.

Page 39: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Derived Data types cont……

Functions Functions in c++ are different than in c there is lots of

modification in functions In c++ due to object orientated concepts in c++.

Pointers

Pointers are declared & initialized as in c.

Ex- int * ip; // int pointer

ip = &x; //address of x through indirection

c++ adds the concept of constant pointer & pointer to a

constant pointer.

char const *p2 = .HELLO.; // constant pointer

Page 40: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

VARIABLES IN C++

It is a location in the computer memory which can store data

and is given a symbolic name for easy reference. The

variables can be used to hold different values at different

times during the execution of a program.

To understand more clearly we should study the following

statements:

Total = 20.00;

In this statement a value 20.00 has been stored in a memory

location Total.

Page 41: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Declaration of a variable

Before a variable is used in a program, we must declare it.

This activity enables the compiler to make available the

appropriate type of location in the memory.

float Total;

You can declare more than one variable of same type in a

single single statement

int x,y;

Page 42: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Initialization of variable

When we declare a variable it's default value is

undetermined. We can declare a variable with some initial

value.

int a = 20;

Page 43: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Structure of C++ Program

Typical C++ program would contain four sections . This section

may be placed in separate code files and then compiled

independently or jointly. It is a common practice to organize a

program into three separate files. The class declarations are placed

in a header file and the definitions of member functions go into

another file. This approach enables the programmer to separate

the abstract specification of the interface from the implementation

details (member function definition). Finally, the main program that

uses the class is places in a third file which “includes: the previous

two files as well as any other file required.

Page 44: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Structure of a C++ program cont…

Page 45: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

STRUCTURE OF C++ PROGRAM:

#include<header file>

main ()

{

...........

...........

...........

}

A C++ program starts with function

called main ( ). The body of the function

is enclosed between curly braces. The

program statements are written within

the braces. Each statement must end

by a semicolon;(statement terminator).

A C++ program may contain as many

functions as required. However, when

the program is loaded in the memory,

the control is handed over to function

main ( ) and it is the first function to be

executed.

Page 46: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

// This is my first program is C++

/* this program will illustrate different components of

a simple program in C++ */

# include <iostream.h>

int main ( )

{

cout <<"Hello World!";

return 0;

}

When the above program is compiled, linked

and executed, the following output is

displayed on the VDU screen.

Output Hello World!

Various components of this program are

discussed below:

Comments First three lines of the above program are comments and

are ignored by the compiler. Comments are included in a

program to make it more readable. If a comment is short

and can be accommodated in a single line, then it is

started with double slash sequence in the first line of the

program. However, if there are multiple lines in a

comment, it is enclosed between the two symbols /* and

*/

Page 47: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

#include <iostream.h>

The line in the above program that start with # symbol are called directives

and are instructions to the compiler. The word include with '#' tells the

compiler to include the file iostream.h into the file of the above program. File

iostream.h is a header file needed for input/ output requirements of the

program. Therefore, this file has been included at the top of the program.

int main ( )

The word main is a function name. The brackets ( ) with main tells that main (

) is a function. The word int before main ( ) indicates that integer value is

being returned by the function main (). When program is loaded in the

memory, the control is handed over to function main ( ) and it is the first

function to be executed.

Page 48: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Curly bracket and body of the function main ( )

A C++ program starts with function called main(). The body of the function is

enclosed between curly braces. The program statements are written within the

brackets. Each statement must end by a semicolon, without which an error message

in generated.

cout<<"Hello World!";

This statement prints our "Hello World!" message on the screen. cout understands

that anything sent to it via the << operator should be printed on the screen.

return 0;

This is a new type of statement, called a return statement. When a program finishes

running, it sends a value to the operating system. This particular return statement

returns the value of 0 to the operating system, which means ―everything went okay!

‖.

Page 49: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Output:

Sample Run: In this

sample run, the user

input is shaded.

Enter roll number

and marks :102 87.5

Rollno: 102

Marks: 87.5

/* This program illustrates how to declare variable,

read data and display data. */

#include <iostream.h>

int main()

{

int rollno; //declare the variable rollno of type int

float marks; //declare the variable marks of type float

cout << "Enter roll number and marks :";

cin >> rollno >> marks; //store data into variable

rollno & marks

cout << "Rollno: " << rollno<<"\n";

cout << "Marks: " << marks;

return 0;

}

Page 50: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

FLOW OF CONTROL

Statements

Statements are the instructions given to the computer to perform any kind of

action. Action may be in the form of data movement, decision making etc.

Statements form the smallest executable unit within a C++ program.

Statements are always terminated by semicolon.

Compound Statement

A compound statement is a grouping of statements in which each individual

statement ends with a semi-colon. The group of statements is called block.

Compound statements are enclosed between the pair of braces ({}.). The

opening brace ({) signifies the beginning and closing brace (}) signifies the

end of the block.

Page 51: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Null Statement

Writing only a semicolon indicates a null statement. Thus ';' is a null or empty statement.

This is quite useful when the syntax of the language needs to specify a statement but the

logic of the program does not need any statement. This statement is generally used in for

and while looping statements.

Conditional Statements

Sometimes the program needs to be executed depending upon a particular

condition. C++ provides the following statements for implementing the selection

control structure.

if statement

if else statement

nested if statement

switch statement

Page 52: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

If statement

syntax of the if statement

if (condition)

{

statement(s);

}

From the flowchart it is

clear that if the if

condition is true,

statement is executed;

otherwise it is skipped.

The statement may

either be a single or

compound statement.

Page 53: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

if else statement

syntax of the if - else statement

if (condition)

statement1;

else

statement2;

From the above flowchart it is clear that the given condition is

evaluated first. If the condition is true, statement1 is executed. If

the condition is false, statement2 is executed. It should be kept in

mind that statement and statement2 can be single or compound

statement.

if example if else example

if (x == 100)cout << "x is 100";

if (x == 100)cout << "x is 100";elsecout << "x is not 100";

Page 54: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Nested if statement

if(condition 1)

{

if(condition 2)

{

statement(s);

}

}

The if block may be nested in another if or else block.

This is called nesting of if or else block.

if-else-if example

if(percentage>=60)

cout<<"Ist division";

else if(percentage>=50)

cout<<"IInd division";

else if(percentage>=40)

cout<<"IIIrd division";

else

cout<<"Fail" ;

Page 55: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

switch statement

switch (var / expression)

{

case constant1 : statement 1;

break;

case constant2 : statement2;

break;

.

.

default: statement3;

break;

}

The if and if-else statements permit two way branching

whereas switch statement permits multiple branching.

The execution of switch statement begins with the

evaluation of expression. If the value of expression

matches with the constant then the statements following

this statement execute sequentially till it executes break.

The break statement transfers control to the end of the

switch statement. If the value of expression does not

match with any constant, the statement with default is

executed.

Some important points about switch statement

The expression of switch statement must be of type

integer or character type.

The default case need not to be used at last case. It can

be placed at any place.

The case values need not to be in specific order.

Page 56: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Example switch statement

Page 57: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Looping statement

It is also called a Repetitive control structure. Sometimes

we require a set of statements to be executed a number

of times by changing the value of one or more variables

each time to obtain a different result. This type of

program execution is called looping. C++ provides the

following construct:

while loop

do-while loop

for loop

Page 58: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

While loop

Syntax of while loop

while(condition)

{

statement(s);

}

The flow diagram indicates that a condition is first

evaluated. If the condition is true, the loop body is

executed and the condition is re-evaluated. Hence, the

loop body is executed repeatedly as long as the condition

remains true. As soon as the condition becomes false, it

comes out of the loop and goes to the statement next to

the ‗while‘ loop.

Page 59: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

do-while loop

Syntax of do-while loop

do

{

statements;

} while (condition);

Note : That the loop body is always executed

at least once. One important difference

between the while

loop and the do-while loop the relative ordering

of the conditional test and loop body execution. In

the while loop, the loop repetition test is

performed before each execution the loop body;

the loop body is not executed at all if the initial

test fail. In the do-while loop, the loop

termination test is Performed after each

execution of the loop body. hence, the loop body

is always executed least once.

Page 60: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

for loop

syntax of for loop for

(initialization;

decision;

increment/decremen

t)

{

statement(s);

}

It is a count controlled loop in the sense that the

program knows in advance how many times the loop is

to be executed.

The flow diagram indicates that in for loop three

operations take place:

Initialization of loop control variable

Testing of loop control variable

Update the loop control variable either by

incrementing or decrementing. Operation (i) is used to

initialize the value. On the other hand, operation (ii) is

used to test whether the condition is true or false. If the

condition is true, the program executes the body of the

loop and then the value of loop control variable is

updated. Again it checks the condition and so on. If the

condition is false, it gets out of the loop.

Page 61: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Jump Statements

The jump statements unconditionally transfer

program control within a function.

goto statement

break statement

continue statement

Page 62: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

The goto statement

goto allows to make jump to another point in the program. goto

pqr; pqr: pqr is known as label. It is a user defined identifier.

After the execution of goto statement, the control transfers to

the line after label pqr.

The break statement

The break statement, when executed in a switch structure,

provides an immediate exit from the switch structure. Similarly,

you can use the break statement in any of the loop. When the break

statement executes in a loop, it immediately exits from the loop.

Page 63: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

while (condition)

{

Statement 1;

If (condition)

continue;

statement;

}

The continue statement is used in loops and

causes a program to skip the rest of the

body of the loop.

The exit ( ) function

The execution of a program can be stopped

at any point with exit ( ) and a status code

can be informed to the calling program. The

general format is

exit (code) ;

where code is an integer value. The code

has a value 0 for correct execution. The

value of the code varies depending upon the

operating system.

Page 64: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

FUNCTION

A function is a subprogram that acts on data and often returns a

value. A program written with numerous functions is easier to

maintain, update and debug than one very long program. By

programming in a modular (functional) fashion, several

programmers can work independently on separate functions which

can be assembled at a later date to create the entire project. Each

function has its own name. When that name is encountered in a

program, the execution of the program branches to the body of that

function. When the function is finished, execution returns to the

area of the program code from which it was called, and the program

continues on to the next line of code.

Page 65: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Creating User-Defined Functions

Declare the function.

The declaration, called the FUNCTION PROTOTYPE, informs the compiler

about the functions to be used in a program, the argument they take and

the type of value they return.

Define the function.

The function definition tells the compiler what task the function will be

performing. The function prototype and the function definition must be

same on the return type, the name, and the parameters. The only difference

between the function prototype and the function header is a semicolon. The

function definition consists of the function header and its body. The header

is EXACTLY like the function prototype, EXCEPT that it contains NO

terminating semicolon.

Page 66: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

//Prototyping, defining and calling a function

#include <iostream.h> void starline(); // prototype the function int main() { starline( ); // function call cout<< "\t\tBjarne Stroustrup\n"; starline( ); // function call return 0; } // function definition void starline() { int count; // declaring a LOCAL variable for(count = 1; count <=65; count++) cout<< "*"; cout<<endl; }

Page 67: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

ARGUMENT TO A FUNCTION

Sometimes the calling function supplies some values to the

called function. These are known as parameters. The

variables which supply the values to a calling function called

actual parameters. The variable which receive the value

from called statement are termed formal parameters.

Page 68: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Consider the following example that evaluates the area of a circle.

#include<iostream.h>

void area(float);

int main()

{

float radius;

cin>>radius;

area(radius);

return 0;

}

void area(float r) {

cout<< “the area of the circle is”<<3.14*r*r<<“\n”;

}

Here radius is called actual parameter and r is called formal parameter.

Page 69: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

RETURN TYPE OF A FUNCTION

#include <iostream.h>

int timesTwo(int num); // function prototype

int main()

{

int number, response;

cout<<"Please enter a number:";

cin>>number;

response = timesTwo(number); //function call

cout<< "The answer is "<<response;

return 0;

}

//timesTwo function

int timesTwo (int num)

{

int answer; //local variable

answer = 2 * num;

return (answer);

}

Page 70: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

CALLING OF FUNCTION

the function can be called using either of the

following methods:

i) call by value

ii) call by reference

Page 71: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

CALL BY VALUE

In call by value method, the called function

creates its own copies of original values sent

to it. Any changes, that are made, occur on

the function‘s copy of values and are not

reflected back to the calling function.

Page 72: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

CALL BY REFERENCE

In call be reference method, the called

function accesses and works with the original

values using their references. Any changes,

that occur, take place on the original values

are reflected back to the calling

code.

Page 73: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Consider the following program which will swap the value of two variables.

using call by reference using call by value

#include<iostream.h>void swap(int &, int &);int main(){int a=10,b=20;swap(a,b);cout<<a<<" "<<b;return 0;}void swap(int &c, int &d){int t;t=c;c=d;d=t;}

#include<iostream.h>void swap(int , int );int main(){int a=10,b=20;swap(a,b);cout<<a<<" "<< b;return 0;}void swap(int c, int d){int t;t=c;c=d;d=t;}

output:20 10

output:10 20

Page 74: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

An array is a collection of data

elements of same data type. It is

described by a single name and

each element of an array is

referenced by using array name

and Its subscript no.

Declaration of Array

Type

arrayName[numberOfElements];

For example,

int Age[5] ;

float cost[30];

ARRAY

Page 75: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Initialization of One Dimensional Array

Referring to Array Elements

An array can be initialized along

with declaration. For array

initialization it is required to place

the elements separated by

commas enclosed within braces.

int A[5] = {11,2,23,4,15};

It is possible to leave the array

size open. The compiler will count

the array size.

int B[] = {6,7,8,9,15,12};

In any point of a program in

which an array is visible, we

can access the value of any of

its elements individually as if

it was a normal variable, thus

being able to both read and

modify its value. The format is

as simple as:

name[index] Examples: cout<<age[4];//print an array element

age[4]=55; // assign value to an array

element

cin>>age[4]; //input element 4

Page 76: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Arrays as Parameters

• At some moment we may need to pass an array to a

function as a parameter. In C++ it is not possible to pass a

complete block of memory by value as a parameter to a

function, but we are allowed to pass its address.

• For example,

• the following function: void print(int A[]) accepts a

parameter of type "array of int" called A. In order to pass to

this function an array declared as: int arr[20]; we need to

write a call like this: print(arr);

Page 77: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Here is a complete example:

#include <iostream.h>

void print(int A[], int length)

{

for (int n=0; n<length; n++)

cout << A[n] << " ";

cout << "\n";

} int main ()

{ int arr[] = {5, 10, 15};

print(arr,3);

return 0;

}

Page 78: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

It is a collection of data

elements of same data type

arranged in rows and columns

(that is, in two dimensions). Declaration of Two

Dimensional Array Type

arrayName[numberOfRows][numberOfColumn];

For example, int Sales[3][5];

TWO DIMENSIONAL ARRAY

Page 79: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Initialization of Two-Dimensional Array

An two-dimensional array can be initialized along with

declaration. For two-dimensional array

initialization, elements of each row are enclosed within curly

braces and separatedby commas. All rows are enclosed

within curly braces. int A[4][3] = {{22, 23, 10},

{15, 25, 13},

{20, 74, 67},

{11, 18, 14}};

Page 80: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Referring to Array Elements

To access the elements of a two-dimensional array, we need a

pair of indices: one for

the row position and one for the column position. The format

is as simple as:

name[rowIndex][columnIndex]

Examples: cout<<A[1][2]; //print an array element

A[1][2]=13; // assign value to an array element

cin>>A[1][2]; //input element

Page 81: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Using Loop to input an Two-Dimensional Array from

user

int mat[3][5], row, col ;

for (row = 0; row < 3; row++)

for (col = 0; col < 5; col++)

cin >> mat[row][col];

Page 82: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Arrays as Parameters

Two-dimensional arrays can be passed as parameters to a

function, and they are passed by reference. When declaring a

two-dimensional array as a formal parameter, we can omit

the size of the first dimension, but not the second; that is, we

must specify the number of columns. For example:

Void print(int A[][3],int N, int M) In order to pass to this

function an array declared as:

int arr[4][3]; we need to write a call like this: print(arr);

Page 83: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Here is a complete example:

#include <iostream.h>void print(int A[][3],int N, int M){for (R = 0; R < N; R++)for (C = 0; C < M; C++)cin >> A[R][C];}int main (){int arr[4][3] ={{12, 29, 11},{25, 25, 13},{24, 64, 67},{11, 18, 14}}; print(arr,4,3);return 0;}

Page 84: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Query Session

Thanks

Page 85: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Objective of Session:

Object & Classes

Scope Resolution Operator

Constructors & Destructors

Friend Functions

Polymorphism

Overloading Functions & Operators

Inheritance & Types of Inheritance

Virtual functions

Introduction to Data Structures

Page 86: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

HISTORY OF C++

Year 1982

Developed By Bjarne stroustrap

Lab Bell Labs

Company At & T

Page 87: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Object & Class

Class is group of data member and member function. And another word class is collection of object of similar type.

A class is used in object-oriented programming to describe one or more objects. It serves as a template for creating, or instantiating, specific objects within aprogram. While each object is created from a single class, one class can be used to instantiate multiple objects.

Page 88: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Member function

Three types of member function 1) Private member function 2) Protected member function 3) Public member function

Page 89: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Example of CLASSES AND OBJECTS :

In structure of C :- only data

can be member of structure

and not functions All member

of structure of are public by

default In class of C++ data +

functions accessing those data

are member of class and All

member of class are private by

default .Function are never

replicated there is only one

copy of function no matter now

many objects are created only

once memory is allocated to

functions for all objects where

as multiple copies of data are

created for multiple objects.

 

class stud

{ int roll;

char grade;

float par;

public:

void get( );

void show( );

};

void stud : : get( )

{

cout << “enter roll. Grade and per”;

cin>>roll>> grade >> per;

}

void stud : : show

{

cout <<roll << “ “<< grade << “ “ <<per<< end1;

}

void main( )

{

stud s;

s. get ( );

s. show( );

}

Page 90: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

: : Scope resolution operator

: : Scope resolution

operator helps

compiler to identify

functions of which

class if two classes

have the same name.

class add { int a, b, c; public : void get( ); void sum( ); void show( ); }; void add : : get ( ) { cout << “Enter no”; cin >> a >>b; } void add : : sum( ) { c= a+b; } void add : : show( ) { cout << “Numbers are = “<< a << “ “ << b; cout << “sum =” <<c; } void main( ) { add obj; obj. get( ); obj.sum( ); obj. show( ); getch( ); }

Page 91: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

BASIC PRINCIPLES OF OOP

ENCAPSULATION

Word has been derived from a word capsule which

means multiple medicines packed in one single unit. Similarly

in a software there are two major unit data & functions acting

on that data since functions and data are related entities it is

advisable to score them within a single unit. Thus according to

oop’s Encapsulation means building or wrapping up of data

members and f n acting on those data members with in a single

unit. Since a class allows us to hold data & functions within it

are say that it supports the principle of encapsulation.

Page 92: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

POLYMORPHISM

The word polymorphism is derived from combination of two

words poly meaning multiple and morph means the ability to have

multiple forms. In other words if an entity can acquire multiple

forms in different situation we say that its behaviors is polymorphic

for eg in c++. it is possible for programmer to operator ‘+’ in such

a way that it can be used to add two integers as well as at the same

time it can add two object or two strings. So it a programmer define

+ to behave in above mentioned member we say that + behaves

polymorphic ally .

Page 93: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

In C++, polymorphism is implemented in two way:-

(1). Compile time polymorphism :- function overloading

and operator Overloading

(2). RunTime polymorphism:- Virtual functions, pure

virtual functions Abstract classes

Page 94: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Inheritance

Inheritance :- to inherit means to acquire properties and features

of an existing entity into a newly created entity Like a child acquires

properties of his or her parents, similar when designing software if

a programmer wishes then he can acquire the features (data and

member function) of an existing class in his own class with the help

of inheritance. The class which gets inherited is known as base class

and the class which inherits is known as derived class. Thus by

inheriting the members of base class it becomes possible to access

them through the objects of derive class. The major advantage

offered by principle of Inheritance is “reusability and reliability”

Page 95: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

CREATING PARAMETERIZED FUNCTIONS WITHIN CLASSES

class Emp { int age; char name[20]; float salary; public: void set (int, char *, float); void show( ) }; void Emp: : set (int I, char *j, float K) { age =I; strcpy(name, j); salary =k; } void Emp : : show( ) { cout <<age << “ “ <<name << “ “ salary; }

Page 96: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Write an object oriented program to calculate the factorial of a given by user. Provide separated function for initialization, inputting, calculating and display.

class Fact{

long int f;int n;

public:void init( );void getno( );void calculate( );void display( );

};void Fact : : init( ){

f=1;}void Fact : : getno( ){

cout << “Enter a number”;

cin >> n;}

void Fact : : calculate( ){

int i;for (i=1; i<=n; i+

+)f=f * i;

}void Fact : : display( ){

cout << “ Number =” << n;

cout << “factorial=” <<f;}void main( ){

Fact obj ;obj. init( );obj.getno( );obj.get calculate( );obj. display( );

}

Page 97: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

CONTRUCTOR

Constructor :- constructor are special member f n of a class with the following properties

o  They have the same name as that of the class

o They don’t have any return type not even void

o They are automatically called as soon as the object of class is created i.e. their calling is implicit.

o They can’t be declared as static

o They can’t be declared as virtual

 Any class which does not contain any constructor then compiler from itself supplier a constructor but it is

hidden. for programmer these constructors are default

 class fact

{

 };

Constructors are automatically called even when not declared, at that time default constructors are called.

Default contractors are destroyed as soon as we declare constructor

 

Page 98: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Example :-

class fact { int n; long int f; public: fact( ) { f=1; } void getno( ); void calculate( ); void display( ); }; void fact : : getno( ) { cout << “enter a no”; an >> n; } void fact : : calculate( ) { int i; for (i=1; i<=n; i++) f= f * i; } void fact : : display ( ) { cout << “no=” <<n<<end1; cout << “factorial=” <<f; } void main( ) { fact obj; obj.getno( ); obj.calculate( ); obj.display( ); }

Page 99: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Destructor

A destructor is a special member function of a class that is executed whenever an object of it's class goes out of scope or whenever the delete expression is applied to a pointer to the object of that class.

A destructor will have exact same name as the class prefixed with a tilde (~) and it can neither return a value nor can it take any parameters. Destructor can be very useful for releasing resources before coming out of the program like closing files, releasing memories etc.

Page 100: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Following example explains the concept of destructor:

Output :

Object is being created Length of line : 6 Object is being deleted

#include <iostream> using namespace std; class Line { public: void setLength( double len );

double getLength( void ); Line(); // This is the constructor declaration ~Line(); //

This is the destructor: declaration private: double length;

}; // Member functions definitions including

constructor Line::Line(void) { cout << "Object is being created" << endl; } Line::~Line(void) { cout << "Object is being deleted" << endl; } void Line::setLength( double len )

Page 101: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

{ length = len; } double Line::getLength( void ) { return length; } // Main function for the program int

main( ) { Line line; // set line length

line.setLength(6.0); cout << "Length of line : " <<

line.getLength() <<endl; return 0; }

Page 102: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Friend Function

A friend function is a function that is not a member of a class but has access to the class's private and protected members. Friend functions are not considered class members; they are normal external functionsthat are given special access privileges.

Page 103: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Friend Function :

ALGORITHM:

STEP 1:  Start the program.

STEP 2:  Declare the class name as Base with data members and member functions.

STEP 3:  The function get() is used to read the 2 inputs from the user.

STEP 4:  Declare the friend function mean(base ob) inside the class.

STEP 5:  Outside the class to define the friend function and do the following.

STEP 6:  Return the mean value (ob.val1+ob.val2)/2 as a float.

STEP 7:  Stop the program.

#include<iostream.h> #include<conio.h> class  base {     int val1,val2;    public:     void get()     {        cout<<"Enter two values:";        cin>>val1>>val2;     }     friend float mean(base ob); }; float mean(base ob) {    return float(ob.val1+ob.val2)/2; } void main() {     clrscr();     base obj;     obj.get();     cout<<"\n Mean value is : "<<mean(obj);     getch(); }           Enter two values: 10, 20 Mean Value is: 15

Page 104: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Overloading Functions & Operators

The function call operator, when overloaded, does not modify how functions are called. Rather, it modifies how the operator is to be interpreted when applied to objects of a given type.

You overload the function call operator, operator(), with a nonstatic member function that has any number of parameters. If you overload a function call operator for a class its declaration will have the following form:

Page 105: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Virtual functions

A virtual function is a member function that you expect to be redefined in derived classes. When you refer to a derived class object using a pointer or a reference to the base class, you can call a virtual function for that object and execute the derived class's version of the function.

Page 106: PREPARED BY: SUMIT DHARIWAL (DEPARTMENT OF CSE) Presentation on C++ Basic Elements Prepared By:SUMIT DHARIWAL (Department of CSE)

Prepared By:SUMIT DHARIWAL (Department of CSE)

Pure virtual function

It only serves as a place holder for example we have not defined any object of class media and there for the function display () in the base class has been