PROGRAMMING IN C++ COURSE CONTENT

Similar documents
STUDY NOTES UNIT 1 - INTRODUCTION TO OBJECT ORIENTED PROGRAMMING

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING OBJECT ORIENTED PROGRAMMING CLASS : THIRD SEMESTER CSE

Object Oriented Programming. C++ 6 th Sem, A Div Ms. Mouna M. Naravani

Tokens, Expressions and Control Structures



PART I. Part II Answer to all the questions 1. What is meant by a token? Name the token available in C++.

+2 Volume II OBJECT TECHNOLOGY OBJECTIVE QUESTIONS R.Sreenivasan SanThome HSS, Chennai-4. Chapter -1

Object Oriented Pragramming (22316)

Object Oriented Programming. Solved MCQs - Part 2

OBJECT ORIENTED PROGRAMMING. Ms. Ajeta Nandal C.R.Polytechnic,Rohtak

OBJECT ORIENTED PROGRAMMING USING C++ CSCI Object Oriented Analysis and Design By Manali Torpe

What are the characteristics of Object Oriented programming language?

Data Structures and Programming with C++

MAHALAKSHMI ENGINEERING COLLEGE B TIRUCHIRAPALLI

Unit 1 : Principles of object oriented programming

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING CS6456 OBJECT ORIENTED PROGRAMMING

Sri Vidya College of Engineering & Technology

C++ Quick Guide. Advertisements

UNIT- 3 Introduction to C++

Chapter 15 - C++ As A "Better C"

Introduction to C++ Systems Programming

STRUCTURING OF PROGRAM

6.096 Introduction to C++ January (IAP) 2009

AN OVERVIEW OF C++ 1

JAYARAM COLLEGE OF ENGINEERING AND TECHNOLOGY Pagalavadi, Tiruchirappalli (An approved by AICTE and Affiliated to Anna University)

CS201 - Introduction to Programming Glossary By

Features of C. Portable Procedural / Modular Structured Language Statically typed Middle level language

VALLIAMMAI ENGINEERING COLLEGE

Interview Questions of C++

Jayaram college of Engineering and Technology, Pagalavadi. CS2203 Object Oriented Programming Question Bank Prepared By: S.Gopalakrishnan, Lecturer/IT

Short Notes of CS201

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

Computers Programming Course 5. Iulian Năstac

Data Structures using OOP C++ Lecture 3

Character Set. The character set of C represents alphabet, digit or any symbol used to represent information. Digits 0, 1, 2, 3, 9

Object-Oriented Programming (OOP) Fundamental Principles of OOP

Data type of a pointer must be same as the data type of the variable to which the pointer variable is pointing. Here are a few examples:

September 10,

Standard 11. Lesson 9. Introduction to C++( Up to Operators) 2. List any two benefits of learning C++?(Any two points)

Differentiate Between Keywords and Identifiers

CS3157: Advanced Programming. Outline

Fast Introduction to Object Oriented Programming and C++

Chapter 2

Introduction to Programming Using Java (98-388)

OOP THROUGH C++(R16) int *x; float *f; char *c;

ADARSH VIDYA KENDRA NAGERCOIL COMPUTER SCIENCE. Grade: IX C++ PROGRAMMING. Department of Computer Science 1

UNIT 1 OVERVIEW LECTURE NOTES

Introduction to C++ Professor Hugh C. Lauer CS-2303, System Programming Concepts

Introduction Primitive Data Types Character String Types User-Defined Ordinal Types Array Types. Record Types. Pointer and Reference Types

Presented By : Gaurav Juneja

Chapter 1. Principles of Object Oriented Programming

Programming in C++ 4. The lexical basis of C++

Types. What is a type?

Object-Oriented Programming

Get Unique study materials from

ME240 Computation for Mechanical Engineering. Lecture 4. C++ Data Types

C++ Important Questions with Answers

BITG 1233: Introduction to C++

Chapter-8 DATA TYPES. Introduction. Variable:

TYPES, VALUES AND DECLARATIONS

C Programming. Course Outline. C Programming. Code: MBD101. Duration: 10 Hours. Prerequisites:

Object Oriented Programming. Assistant Lecture Omar Al Khayat 2 nd Year

RAJIV GANDHI COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF INFORMATION TECHNOLOGY OBJECT ORIENTED PROGRAMMING QUESTION BANK UNIT I 2 MARKS

C++ Programming: From Problem Analysis to Program Design, Third Edition

Objectives. Chapter 2: Basic Elements of C++ Introduction. Objectives (cont d.) A C++ Program (cont d.) A C++ Program

Chapter 2: Basic Elements of C++

Lecture 8: Object-Oriented Programming (OOP) EE3490E: Programming S1 2017/2018 Dr. Đào Trung Kiên Hanoi Univ. of Science and Technology

Chapter 2: Basic Elements of C++ Objectives. Objectives (cont d.) A C++ Program. Introduction

Instantiation of Template class

CSC 533: Organization of Programming Languages. Spring 2005

CS201 Some Important Definitions

CPS 506 Comparative Programming Languages. Programming Language

1. Write two major differences between Object-oriented programming and procedural programming?

Inheritance, and Polymorphism.

An Introduction to C++

CS 6456 OBJCET ORIENTED PROGRAMMING IV SEMESTER/EEE

A Fast Review of C Essentials Part I

Introduction to C++ with content from

3.Constructors and Destructors. Develop cpp program to implement constructor and destructor.

Full file at

Appendix. Grammar. A.1 Introduction. A.2 Keywords. There is no worse danger for a teacher than to teach words instead of things.

Intro to OOP Visibility/protection levels and constructors Friend, convert constructor, destructor Operator overloading a<=b a.

Creating a C++ Program

JAVA: A Primer. By: Amrita Rajagopal

SRI SARASWATHI MATRIC HR SEC SCHOOL PANAPAKKAM +2 IMPORTANT 2 MARK AND 5 MARK QUESTIONS COMPUTER SCIENCE VOLUME I 2 MARKS

OOPS Viva Questions. Object is termed as an instance of a class, and it has its own state, behavior and identity.

CS304 Object Oriented Programming Final Term

CS201- Introduction to Programming Current Quizzes

Introduction to C++ Introduction to C++ 1

I BCS-031 BACHELOR OF COMPUTER APPLICATIONS (BCA) (Revised) Term-End Examination. June, 2015 BCS-031 : PROGRAMMING IN C ++

OBJECT ORIENTED PROGRAMMING

CS 376b Computer Vision

UCA31 - PROGRAMMING IN C++ Unit-1 Principal of OOP Type: 75% Theory & 25 % Numerical Question and Answer

Introduction to C++ (Extensions to C)

CHAPTER 3 Expressions, Functions, Output

Padasalai.Net s Model Question Paper

Pointers, Dynamic Data, and Reference Types

Design Principles for a Beginning Programming Language

1. Describe History of C++? 2. What is Dev. C++? 3. Why Use Dev. C++ instead of C++ DOS IDE?

Transcription:

PROGRAMMING IN C++ 1 COURSE CONTENT

UNIT I PRINCIPLES OF OBJECT ORIENTED PROGRAMMING 2

1.1 Procedure oriented Programming 1.2 Object oriented programming paradigm 1.3 Basic concepts of Object Oriented Programming 1.4 Advantages of Object Oriented Programming 1.5 Object Oriented Languages 1.6 Applications of Object Oriented Programming 1.7 C++ Concepts 1.8 Structure of C++ program 1.9 Applications of C++ 1.10 Basic Data types in C++ 1.11 User defined Data types 1.12 Derived Data types 1.13 Defining Constants 1.14 Declaration of variables and Dynamic initialization of variables 1.15 Reference variables 1.16 Operators in C++ 1.17 Scope Resolution Operators 1.18 Member dereferencing Operators 3 1.19 Memory Management Operators and Manipulators 1.20 Type cast Operator

4 INTRODUCTION Object oriented programming is an approach to program organization and development that attempts to eliminate some of the pitfalls of conventional programming method by incorporating the best of structured programming features with several powerful new concepts. C++ is a superset of C. 4

5 PROCEDURE ORIENTED PROGRAMMING Conventional programming using high level languages such as COBOL,FORTRAN and C is known as procedure oriented programming(pop). In this approach, problem is viewed as a sequence of things to be done such as Reading, Calculating, Printing. Number of functions are written to complete the task. It consists a list of instructions and organize these instructions into group known as functions. 5

6 Disadvantage of POP: To develop a large program, it is very difficult to identify what data is used by which function. It does not model(solve) real world problem very well. Characteristics Exhibited: Emphasis is on doing things (algorithms) Large programs divide into smaller programs known as functions. Data move openly around the system from function to function. Functions transform data from one form to another. All the function share global data. Uses top-down approach in program. 6

7 CONTD.. Main Program Function - 1 Function - 2 Function - 4 Function - 6 Function - 3 Function - 5 Function - 7 Function - 8 7 Structure of the procedure oriented programs

8 OOP PARADIGM OOP treats data as a critical element in the program development and does not allow it to flow freely around the system. It ties data more closely to the functions that operate on it, and protects it from accidential modification from outside function. OOP allows decomposition of a problem into a number of entities called objects and then builds data and functions around these objects. 8

9 CONTD.. Features of OOP: Emphasis on data rather than procedure. Programs are divided into objects. Data structures are designed such that they characterize the objects. Function that operate on the data of an object are tied together in the data structure. Data is hidden and can t be accessed by external function. Objects may communicate with each other through functions. New data and functions can be easily added whenever necessary. 9

10 CONTD.. Object A Object B Data Data Functions Functions Object C Functions Data 10 Organization of data and function in OOP

11 BASIC CONCEPTS OF OOP Objects Classes Data abstraction and encapsulation Inheritance Polymorphism Dynamic binding Message passing 11

12 OBJECTS Objects are the basic run-time entities in the object oriented system. They may represent a data or items that the program has to handle. Each object contains the data and code to manipulate the data. Objects can interact without having to know details of each other's data or code. 12

13 CONTD.. Representation of object by example: Here, STUDENT is an object and Total, Average and Display are the data of that object. STUDENT Total Average Display 13

14 CLASSES Objects are variables of the type class. Once a class has been defined, we can create any number of objects belonging to that class. Each object is associated with the data of type class with which they are created. So, class is a collection of objects of similar type. For example, tiger, lion and panther are members of the class animal. Class are user-defined data type and behave like the built-in types of a programming language. Example: animal tiger; it will create an object tiger of the class animal.14

15 DATA ABSTRACTION AND ENCAPSULATION The wrapping up of data and functions into a single unit (called class) is known as encapsulation. It is a most striking feature of class. The data is not accessible to the outside world, and only those functions which are wrapped in the class can access it. These functions provide an interface between the object s data and the program. 15

16 CONTD.. Abstraction refers to the act of representing the essential features without including the background details. Classes use the concept of abstraction and are defined as a list of attributes and functions to operate on these attributes. They encapsulate all the essential properties of the objects that are to be created. The attributes are sometimes called data members because they hold information. The functions that operate on those data are sometimes called methods or member functions. 16

17 INHERITANCE Inheritance is the process by which objects of one class acquire the properties of objects of another class. It supports the concept of hierarchical classification. It provides the idea of reusability. With the help of inheritance we can add the additional features to an existing class without modifying it. It is possible by deriving a new class from existing one. The new class will have the combined features of both the classes. 17

18 CONTD.. Bird Attributes Feathers Lay eggs Flying Bird Nonflying Bird Attributes Attributes Robin Swallow Penguin Kiwi Attributes Attributes Attributes Attributes 18 Example of Inheritance

19 POLYMORPHISM Polymorphism means the ability to take more than one form. An operation may exhibit different behaviors in different instances. The behavior depends upon the types of data used in the operation. Example: The operation of addition. for, two numbers the operation will generate a sum. If the operands are strings, then the operation would produce a third string by concatenation. 19

20 CONTD.. The process of making an operator to exhibit different behavior in different instances is known as operator overloading. Same, using a single function name to perform different types of task is known as function overloading. Polymorphism plays an important role in allowing objects having different internal structures to share the same external interface. 20

21 CONTD.. Shape Draw ( ) Circle Object Box Object Triangle Object Draw ( circle) Draw ( box) Draw ( triangle) Example of Polymorphism 21

22 DYNAMIC BINDING (LATE BINDING) Binding means the linking of procedure call to the code to be executed in response to the call. Dynamic binding means that the code associated with a given procedure call is not known until the time of the call at run-time. It is associated with polymorphism and inheritance. 22

23 MESSAGE PASSING An object oriented program consists of a set of objects that communicate with each other. Steps for Message Passing: Creating classes that define objects and their behavior. Creating objects from class definition, Establishing communication among objects. 1. 2. 3. Objects communicate with one another by sending and receiving information. 23

24 CONTD.. A message for an object is a request for execution of a procedure and therefore will invoke a function(procedure) in the receiving object that generates the desired result. Message passing involves the name of the object, the name of the function(message) and the information to be sent. Example: employee. salary(name) object message information 24

25 BENEFITS OF OOP Through inheritance, we can eliminate the redundant code and extend the use of existing classes. Save the development time and higher productivity. Through data hiding, the programmer can build secure program that cannot be modified by code in the other part of the program. It is possible to have multiple instances of an object to co-exist without any interference. It is easy to partition the work in a project based on objects. 25

26 CONTD.. The data centered design approach enables us to capture more details of a model in implementable form. Object-oriented system can be easily upgraded from small to large system. Message passing techniques for communication between objects makes the interface descriptions with external systems much simpler. Software complexity can be easily managed. 26

27 OBJECT ORIENTED LANGUAGES The languages should support several of the OOP concepts to claim that they are object-oriented. Depending upon the features they support, they can be classified into the two categories. Object-based programming language Object-oriented programming language. 1. 2. 27

28 CONTD.. Object-based programming language: It supports encapsulation and object identity. Major features required for object-based programming are : Data encapsulation Data hiding and access mechanisms Automatic initialization and clear-up of objects Operator overloading They don t support inheritance and dynamic binding. Ada is a example of object-based programming language. 28

29 CONTD.. Object-oriented programming language: object-oriented programming incorporates all of object-based programming features along with two additional features, inheritance and dynamic binding. Language that support these features include C++, Smalltalk, Object Pascal and java. 29

30 APPLICATION OF OOP Real-time systems. Simulation and modeling. Object-oriented databases. Hypertext, hypermedia and experttext. AI and expert systems. Neural networks and parallel programming. Decision support and office automation systems. CIM/CAM/CAD systems. 30

31 C++ CONCEPT C++ is an object-oriented programming language. It is developed by Bjarne Stroustrup at AT&T bell laboratories in 1980. C++ is a superset of C. Almost all C programs are also C++ programs. Added facilities in C++ are classes, inheritance, function overloading and operator overloading. 31

32 STRUCTURE OF C++ PROGRAM Include Files Class Declarations Member Function Definitions Main Function Programs 32

33 Member Functions Server CONTD.. Member Function Program Client Class Definitions Client - Server Model 33

34 CONTD.. In the client-server model, the class definition including the member functions constitute the server provides services to the main program known as client. The client uses the server through the public interface of class. 34

35 TOKENS The smallest individual units in a program are known as tokens. In C++ there are five types of tokens. Keywords Identifiers Constants Strings operators 35

36 KEYWORDS Keywords are explicitly reserved identifiers and cannot be used as names for the variables or other user-defined program elements. Example: auto, class, return, int, friend, public, private, protected, wchar_t, bool, etc... 36

37 IDENTIFIERS Identifiers refer to the names of variables, functions, arrays, classes, etc created by programmer. Rules for identifiers: Only alphabetic characters, digits and underscore are permitted. Name cant start with digit. Uppercase and lowercase both are distinct. Keyword cant be used as a variable name. 37

38 CONTD.. A major difference between C and C++ is a limit on the length of name. In C, there is only 32 characters are significant. While, in C++ there is no limit on the length of name. 38

39 CONSTANTS Constants refer to fixed values that do not change during the execution of program. Example: 123 // decimal integer 25.56 // floating point integer 037 // octal integer 0x2 // hexadecimal integer C++ // string constant A // character constant L ab // wide-character constant 39

40 CONTD.. The wchar_t type is a wide-character literal. It is intended for character sets that cannot fit a character into a single byte. Wide-character literal begin with the letter L. 40

41 APPLICATION OF C++ For handling very large programs. For development of Editors Compilers Databases Communication systems Complex real-life application systems For to build special object-oriented libraries which can be used later by the programmers. 41

42 BASIC DATA TYPES In C++, there is basically three types of data types are available. This is shown in the figure. The void data type does not return any Data types User-defined type structure union class enumeration Derived type array function pointer reference Built-in type Integral type void floating type 42 int char float double

43 USER-DEFINED DATA TYPES structure and union: In C, structure and union both are the user-defined data types. Structure means collection of logically related elements of different data type. Union is same as structure. But, there is a difference between a structure and union. In structure, we can use the all the elements at the same time. Where in union we can use the only one element at one time. After the use of one element we can use another element. So, in union all the elements share a common space. Where, in structure all the elements have its own space. 43

class: A class is collection of object. In C++, structure is known as class. But it has some difference. In structure, we can declare only a variable. Where in class we can declare a variable (data member) as well as function (member function). enumerated: An enumerated data type provides a way for attaching names to numbers. The enum keyword is used to create a new data type. The enum keyword automatically enumerates a list of words by assigning them values 0, 1, 2 and so on. 44

Syntax: Example: enum day { Mon, Tues, Wed }; enum newdatatype { Value1, Value2, Value3 }; In the above example, Mon has value 0, Tues has value 1 and Wed has value 2. Value of Mon, Tues and Wed is not changed during the execution of the program. 45

46 DERIVED DATA TYPES Arrays: An array is fixed size sequenced collection of elements of same data type. Syntax: data-type array-name[size]; Example: int a[10]; In above example, a is an array which stores 10 different elements of integer data type. By default, the index of array is start from 0. 46

Functions: Function is a group of instruction to perform a specific task. There is mainly two types of functions are available. Library function User defined function Advantage of the function is that we can reduce the code. And eliminate the redundant code of the program. Pointers: A pointer is a one type of variable which holds the address of another variable. Syntax of pointer declaration: data-type *variable-name; Example: int *p; p=&no; *p=25; // pointer variable p is declared // address of no is assigned to p // 25 assigned to no through p 47

48 DEFINING CONSTANTS Symbolic constants can be created by two ways. Using the qualifier constant Using enum keyword. Using constant, Example: Constant int size=10; OR Constant size = 10; Both the statements are same. It creates a constant variable size which has constant value 10. And it cannot be changed during the execution of the program. 48

49 DECLARATION OF VARIABLES There is some difference between C and C++ regarding to the declaration of the variable. In C, all the variables are declared at the beginning of the scope. Where in C++, we can declare a variable anywhere before they are used in the executable statements. Syntax of variable declaration: data-type variable-name; Example: int i; In C++, we can also declare a variable in the initialization section of the for loop statement which is not possible with C. 49

50 Example: void main() { int sum=0; for (int i=1;i<10;i++) { sum = sum + i; } cout<< Sum of 1 to 10 is : << sum; } 50

51 REFERENCE VARIABLES A reference variable is a one type of variable. It provides an alias or alternative name for a previously defined variable. Suppose, we make the variable sum a reference to the variable total, then sum and total can be used interchangeably to represent that variable. Syntax : data-type & reference-name = variablename; 51

Example: int a=15,b=25,total; total = a + b; int & sum = total; cout<<total; // it will print 40 cout<<sum; // it will print 40 sum = 20; cout<<total; // it will print 20 cout<<sum; // it will print 20 A reference variable must be initialized at the time of declaration. 52

OPERATOR IN C++ C++ has rich set of operators all C operators are valid in C++. In addition, C++ introduce some new operators. Some new operators: :: scope resolution operator ::* pointer-to-member declarator ->* pointer-to-member operator.* pointer-to-member operator delete memory release operator new memory allocation operator 53

54 SCOPE RESOLUTION OPERATOR Local variable: A variable which is declared inside the function or block is called as the local variable for that function and block. Global variable: A variable which is declared outside the function or block is called as the global variable for that function and block. In C, to access the global version of the variable inside the function and block that is not possible. In C++, the global version of variable is accessed inside the function and block using the scope resolution operator. 54

Scope resolution operator is used to uncover a hidden variable. Syntax: ::variable-name Example: int a = 10; void main( ) { int a = 15; cout<< Value of a = << a<<endl; cout<< Value of a = << ::a; } Output: Value of a = 15 Value of a = 10 55

MEMBER DEREFERENCING OPERATORS The Member dereferencing operators use in the class, the following the member dereferencing operators use for different purpose. : :* To declare a pointer to the member class..* To access a member using object and pointer of the class. ->* To access member using a pointer of the object and the pointer of the member. 56

57 MEMORY MANAGEMENT OPERATORS In C, calloc( ) and malloc( ) function are used to allocate memory dynamically at runtime. Similarly, it uses the function free( ) to free dynamically allocated memory. In C++, the unary operators new and delete are used to allocate and free a memory at run-time. An object can be created by using new and destroyed by using delete operator. The new operator can be used to create objects of any type. 57

Syntax: pointer-variable = new data-type; Example: int *p = new int; float *q = new float; Using the new operator we can also initialize the memory. Syntax: Pointer-variable = new data-type(value); Example: int *p= new int(25); float *q = new float(10.5); The new operator can be used to create a memory space for any data type including user-defined types such as arrays, structures and classes. 58

Syntax: pointer-variable = new data-type[size]; where, size specifies the number of elements in the array. Example: int *p = new int [10]; which create a memory space for an array of 10 integers. When a data object is no longer needed, it is destroyed to release the memory space for reuse. Syntax: delete pointer-variable; Example: delete p; delete q; 59

To free a dynamically allocated array we can use the delete operator. Syntax: delete [size] pointer-variable; The size specifies the number of elements in the array to be freed. Example: delete [ ] p; 60

61 MANIPULATORS Manipulators are operators that are used to format the output. Most commonly used manipulators are endl and setw. The endl manipulator is used in the output statement when we want to insert a linefeed. It has the same effect as using the newline character \n. Example: #include<iostream.h> #include<conio.h> void main() { clrscr(); int a=15,b=420,c=3542; cout<< a = <<a<<endl; cout<< b = <<b<<endl; cout<< c = <<c<<endl; getch(); } Output: a = 15 b = 420 c = 3542 61

The setw manipulator is used to format the output. When we use the setw manipulator the output is formatted in right justified. Before using the setw manipulator we have to include the header file iomanip. Syntax: setw(width) Where, width specifies the field width. #include<iostream.h> #include<conio.h> void main() { clrscr(); int a=15, b=420, c=3542; cout<< a = <<setw(4)<<a<<endl; cout<< b = <<setw(4)<<b<<endl; cout<< c = <<setw(4)<<c<<endl; getch(); } Output: a = 15 b = 420 c =3542 62

TYPE CAST OPERATOR Casts can be used to convert objects of any scalar type to or from any other scalar type. Explicit type casts are constrained by the same rules that determine the effects of implicit conversions. Example float x = 3.1; int i; i = (int)x; //the value of I is now 3 By: Mr. Jigar J. Patel, VPMP Polytechnic 63

Types cast operators Casts can be used to convert objects of any scalar type to or from any other scalar type. Explicit type casts are constrained by the same rules that determine the effects of implicit conversions. Example float x = 3.1; int i; i = (int)x; //the value of I is now 3