19

Object Oriented · Object Oriented Programming in C++ (Including Lab Programs & Practicals) (As per New CBCS Syllabus for 2nd Year, 4th Semester, B.Com. Computers & Computer Applications

  • Upload
    others

  • View
    21

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Object Oriented · Object Oriented Programming in C++ (Including Lab Programs & Practicals) (As per New CBCS Syllabus for 2nd Year, 4th Semester, B.Com. Computers & Computer Applications
Page 2: Object Oriented · Object Oriented Programming in C++ (Including Lab Programs & Practicals) (As per New CBCS Syllabus for 2nd Year, 4th Semester, B.Com. Computers & Computer Applications

Object OrientedProgramming in

C++(Including Lab Programs & Practicals)

(As per New CBCS Syllabus for 2nd Year, 4th Semester, B.Com. Computers &Computer Applications for Various Universities in Telangana State w.e.f.

2016-17)

Sandeep AgarwallaMCA, M.Tech. (CSE)

Faculty, Department of Computer Science,Indian Institute of Management &

Commerce (IIMC),Khairatabad, Hyderabad-500 004.

Priyanka RoyMCA, M.Tech. (CSE)Assistant Professor,

Department of Computer ScienceAliens Degree College,

Tarnaka, Hyderabad-500 007.

Tulasi Ram KandulaM.Sc. (Comp Sc.)

Head, Department of Computer Science,St. Mary’s Centenary Degree College, &St. Francis Street, Secunderabad-500 003.

V. SreepradaM.Sc. (CS), M.Tech. (CSE)

Faculty, department of Computer ScienceSt. Mary’s Centenary Degree College, &St. Francis Street, Secunderabad-500 003.

ISO 9001:2008 CERTIFIED

Page 3: Object Oriented · Object Oriented Programming in C++ (Including Lab Programs & Practicals) (As per New CBCS Syllabus for 2nd Year, 4th Semester, B.Com. Computers & Computer Applications

© AuthorsNo part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by anymeans, electronic, mechanical, photocopying, recording and/or otherwise without the prior written permission of theauthor and the publishers.

First Edition : 2018

Published by : Mrs. Meena Pandey for Himalaya Publishing House Pvt. Ltd.,“Ramdoot”, Dr. Bhalerao Marg, Girgaon, Mumbai - 400 004.Phone: 022-23860170, 23863863; Fax: 022-23877178E-mail: [email protected]; Website: www.himpub.com

Branch Offices :

New Delhi : “Pooja Apartments”, 4-B, Murari Lal Street, Ansari Road, Darya Ganj, New Delhi - 110 002.Phone: 011-23270392, 23278631; Fax: 011-23256286

Nagpur : Kundanlal Chandak Industrial Estate, Ghat Road, Nagpur - 440 018.Phone: 0712-2738731, 3296733; Telefax: 0712-2721216

Bengaluru : Plot No. 91-33, 2nd Main Road, Seshadripuram, Behind Nataraja Theatre,Bengaluru - 560 020. Phone: 080-41138821; Mobile: 09379847017, 09379847005

Hyderabad : No. 3-4-184, Lingampally, Besides Raghavendra Swamy Matham, Kachiguda,Hyderabad - 500 027. Phone: 040-27560041, 27550139

Chennai : New No. 48/2, Old No. 28/2, Ground Floor, Sarangapani Street, T. Nagar,Chennai - 600 012. Mobile: 09380460419

Pune : “Laksha” Apartment, First Floor, No. 527, Mehunpura, Shaniwarpeth (Near Prabhat Theatre),Pune - 411 030. Phone: 020-24496323, 24496333; Mobile: 09370579333

Lucknow : House No. 731, Shekhupura Colony, Near B.D. Convent School, Aliganj,Lucknow - 226 022. Phone: 0522-4012353; Mobile: 09307501549

Ahmedabad : 114, “SHAIL”, 1st Floor, Opp. Madhu Sudan House, C.G. Road, Navrang Pura,Ahmedabad - 380 009. Phone: 079-26560126; Mobile: 09377088847

Ernakulam : 39/176 (New No. 60/251), 1st Floor, Karikkamuri Road, Ernakulam, Kochi - 682 011.Phone: 0484-2378012, 2378016; Mobile: 09387122121

Bhubaneswar : Plot No. 214/1342, Budheswari Colony, Behind Durga Mandap, Bhubaneswar - 751 006.Phone: 0674-2575129; Mobile: 09338746007

Kolkata : 108/4, Beliaghata Main Road, Near ID Hospital, Opp. SBI Bank, Kolkata - 700 010.Phone: 033-32449649; Mobile: 07439040301

DTP by : Hansa Bhoir

Printed at : M/s. Aditya Offset Process (I) Pvt. Ltd., Hyderabad. On behalf of HPH.

Page 4: Object Oriented · Object Oriented Programming in C++ (Including Lab Programs & Practicals) (As per New CBCS Syllabus for 2nd Year, 4th Semester, B.Com. Computers & Computer Applications

PrefaceCPP is an Object Oriented Language and it an extension of C Language. It is a flexible and

powerful language. This book is for all the programmers who wish to know about the language indepth.

This book is designed for all degree students under various universities of India. Its mainobjective is to create awareness about programming and OOPS concepts to the students. We triedto discuss about everything that related to Object Oriented Programming.

We also tried to place object oriented capabilities such as data abstraction, inheritance andpolymorphism. Also, we explained all the procedure oriented concepts in the first few chapters.Concepts are explained through diagrams so that readers can understand in a better way.

However, there are still ways in which the presentation can be improved. Valuablecomments from the students and teachers for further improvement of this book are welcome; weassure that suggestions will be incorporated in the next edition. We believe that our approach willbring unique benefits to all groups of readers.

We would like to thank M/s Himalaya Publishing House Pvt Ltd., Shri Niraj Pandey MD,Shri Vijay Pandey Regional Manager, and Mr. G. Anil Kumar, Assistant Sales Manager,Hyderabad, and his team who had inspired and motivated for preparing this project, with goodget-up in short span of time that they had provided us.

No project could ever get in progress much less accomplished, without help from a lot offantastic people. We are grateful to Almighty God, who has given us strength to take andcomplete this project. We would like to express gratitude to our parents and family members whohave encouraged us to complete this project.

We, sincerely and wholeheartedly thank Our Principal, Gurus, Shri. K. Raghuveer, IndianInstitute of Management & Commerce (IIMC), Prestigious Institute in Hyderabad and Rev. Fr.D. Sunder Reddy, Principal, St. Mary’s Centenary Degree College, Secunderabad for theircontinuous support and encouragement while completing this prestigious project.

Though we had taken every care in presenting this book in simple and lucid style, someerrors may crept in. However, there are still ways in which the presentation can be improved bygiving your valuable suggestions and criticisms shall be equally accepted by students and facultyfor improving this book in consequent editions with good input quality.

Hyderabad

January 2018 AUTHORS

Page 5: Object Oriented · Object Oriented Programming in C++ (Including Lab Programs & Practicals) (As per New CBCS Syllabus for 2nd Year, 4th Semester, B.Com. Computers & Computer Applications
Page 6: Object Oriented · Object Oriented Programming in C++ (Including Lab Programs & Practicals) (As per New CBCS Syllabus for 2nd Year, 4th Semester, B.Com. Computers & Computer Applications

SyllabusPaper: (BC 407): Object Oriented Programming in C++

Paper: BC 407 Maximum Marks: 70T + 30P

PPW: 4 (3T + 2P) Exam Duration: 3 Hours

Credits: 4

Objective: To gain skills of Object Oriented Programming using C++ Language.

Unit I: Introduction

Object Oriented Programming: Concepts – Benefits – Languages – Structured vs. ObjectOriented Programming. C++: Genesis – Structure of a Program – Tokens – Data Types – Operators –Control Structures – C vs. C++ – Functions.

.Unit – II: Classes, Objects, Constructors and Destructors

Encapsulation – Hiding – Abstract Data Types – Object and Classes – Attributes – Methods –C++ Class Declaration – State Identity and Behaviour of an Object. Purpose of Constructors – DefaultConstructor – Parameterized Constructors – Copy Constructor – Instantiation of Objects – DefaultParameter Value – Object Types – C++ Garbage Collection – Dynamic Memory Allocation – MetaClass/Abstract Classes.

Unit III: Overloading, Conversions, Derived Classes and Inheritance

Function and Operator Overloading – Overloading Unary and Binary Operators – Data and TypeConversions – Derived Classes – Concept of Reusability – Visibility Modes – Types of Inheritance –Single and Multiple Inheritance – Multilevel Inheritance.

Unit IV: Polymorphism, Virtual Function, Streams and Files

Polymorphism – Virtual – Classes – Pointer to Derived Class – Virtual Functions – Rules forVirtual Function – Pure Virtual Functions – Stream Classes – Types of I/O – Formatting Outputs –File Pointers – Buffer – C++ Stream – Unformatted Console I/O Operations – Functions: get() –put() – Formatted Console I /O Operations – IOS Class Format Functions – Manipulators.

Unit V: Exception Handling and Data Structures in C++

Exceptions in C++ Programs – Try and Catch Expressions – Exceptions with Arguments. DataStructures: Introduction – Linked List – Stacks – Queues.

Page 7: Object Oriented · Object Oriented Programming in C++ (Including Lab Programs & Practicals) (As per New CBCS Syllabus for 2nd Year, 4th Semester, B.Com. Computers & Computer Applications
Page 8: Object Oriented · Object Oriented Programming in C++ (Including Lab Programs & Practicals) (As per New CBCS Syllabus for 2nd Year, 4th Semester, B.Com. Computers & Computer Applications

ContentsSr. No. Chapter Name Page No.

Unit – I

1. Object Oriented Programming 1 – 10

2. Program Development with C++ 11 – 50

Unit – II

3. Classes, Objects, Constructors and Destructors 51 – 73

Unit – III

4. Overloading 74 – 92

5. Inheritance 93 – 107

Unit – IV

6. Polymorphism and Data Abstraction 108 – 119

7. Streams 120 – 142

Unit – V

8. Exception Handling 143 – 156

9. Data Structures 157 – 179

Lab Programs 180 – 258

Multiple Choice Questions 259 – 268

Page 9: Object Oriented · Object Oriented Programming in C++ (Including Lab Programs & Practicals) (As per New CBCS Syllabus for 2nd Year, 4th Semester, B.Com. Computers & Computer Applications
Page 10: Object Oriented · Object Oriented Programming in C++ (Including Lab Programs & Practicals) (As per New CBCS Syllabus for 2nd Year, 4th Semester, B.Com. Computers & Computer Applications

Unit – I

Object OrientedProgramming1

INTRODUCTION

Developments in software technology continue to be dynamic. New tools and techniques areannounced in quick succession. This has forced the software engineers and industry to continuouslylook for new approaches to software design and development, and they are becoming more and morecritical in view of the increasing complexity of software systems as well as the highly competitivenature of the industry. These rapid advances appear to have created a situation of crisis within theindustry. The following issues need to be addressed to face the crisis:

How to represent real-life entities of problems in system design? How to design system with open interfaces? How to ensure reusability and extensibility of modules? How to develop modules that are tolerant of any changes in future? How to improve software productivity and decrease software cost? How to improve the quality of software? How to manage time schedules?

SOFTWARE EVALUATION

Ernest Tello, a well-known writer in the field of artificial intelligence, compared the evolution ofsoftware technology to the growth of the tree. Like a tree, the software evolution has had distinctphases “layers” of growth. These layers were building up one by one over the last five decades asshown in figure below, with each layer representing and improvement over the previous one. However,the analogy fails if we consider the life of these layers. In software system, each of the layers continueto be functional, whereas in the case of trees, only the uppermost layer is functional.

Page 11: Object Oriented · Object Oriented Programming in C++ (Including Lab Programs & Practicals) (As per New CBCS Syllabus for 2nd Year, 4th Semester, B.Com. Computers & Computer Applications

2 Object Oriented Programming in C++

Object Oriented Programming

Procedure Programming

Assembly Language

Machine Language

1,0

Alan Kay, one of the promoters of the object oriented paradigm and the principal designer ofSmalltalk, has said: “As complexity increases, architecture dominates the basic materials”. To buildtoday’s complex software, it is just not enough to put together a sequence of programming statementsand sets of procedures and modules; we need to incorporate sound construction techniques andprogram structures that are easy to comprehend, implement and modify.

With the advent of languages such as C, structured programming became very popular and wasthe main technique of the 1980s. Structured programming was a powerful tool that enabledprogrammers to write moderately complex programs fairly easily. However, as the programs grewlarger, even the structured approach failed to show the desired result in terms of bug-free, easy-to-maintain, and reusable programs.

Object Oriented Programming (OOP) is an approach to program organization and developmentthat attempts to eliminate some of the pitfalls of conventional programming methods by incorporatingthe best of structured programming features with several powerful new concepts. It is a new way oforganizing and developing programs and has nothing to do with any particular language. However, notall languages are suitable to implement the OOP concepts easily.

PROCEDURE-ORIENTED PROGRAMMING

In the procedure-oriented approach, the problem is viewed as the sequence of things to be donesuch as reading, calculating and printing such as Cobol, Fortran and C. The primary focus is onfunctions. A typical structure for procedural programming is shown in figure below. The technique ofhierarchical decomposition has been used to specify the tasks to be completed for solving a problem.

Procedure-oriented programming basically consists of writing a list of instructions for thecomputer to follow, and organizing these instructions into groups known as functions. We normallyuse flowcharts to organize these actions and represent the flow of control from one action to another.

In a multi-function program, many important data items are placed as global so that they may beaccessed by all the functions. Each function may have its own local data. Global data are morevulnerable to an inadvertent change by a function. In a large program, it is very difficult to identify

Page 12: Object Oriented · Object Oriented Programming in C++ (Including Lab Programs & Practicals) (As per New CBCS Syllabus for 2nd Year, 4th Semester, B.Com. Computers & Computer Applications

3Object Oriented Programming

what data is used by which function. In case we need to revise an external data structure, we also needto revise all functions that access the data. This provides an opportunity for bugs to creep in.

Main Program

Function 1 Function 2

Function 3 Function 4 Function 5

Another serious drawback with the procedural approach is that we do not model real-worldproblems very well. This is because functions are action-oriented and do not really corresponding tothe element of the problem.

Some characteristics exhibited by procedure-oriented programming are:

Emphasis is on doing things (algorithms). Large programs are divided into smaller programs known as functions. Most of the functions share global data. Data move openly around the system from function to function. Functions transform data from one form to another. Employs top-down approach in program design.

OBJECT ORIENTED PARADIGM

The major motivating factor in the invention of object oriented approach is to remove some of theflaws encountered in the procedural approach. OOP treats data as a critical element in the programdevelopment and does not allow it to flow freely around the system. It ties data more closely to thefunction that operates on it, and protects it from accidental modification from outside function. OOPallows decomposition of a problem into a number of entities called objects and then builds data andfunction around these objects. The organization of data and function in object oriented programs isshown in figure below. The data of an object can be accessed only by the function associated with thatobject. However, function of one object can access the function of other objects.

Page 13: Object Oriented · Object Oriented Programming in C++ (Including Lab Programs & Practicals) (As per New CBCS Syllabus for 2nd Year, 4th Semester, B.Com. Computers & Computer Applications

4 Object Oriented Programming in C++

Object A Object B

Communication

Object C

Data

DataData

Functions

Functions

Functions

Some of the features of object oriented programming are:

1. Emphasis is on data rather than procedure.2. Programs are divided into what are known as objects.3. Data structures are designed such that they characterize the objects.4. Functions that operate on the data of an object are tied together in the data structure.5. Data is hidden and cannot be accessed by external function.6. Objects may communicate with each other through function.7. New data and functions can be easily added whenever necessary.8. Follows bottom-up approach in program design.

Object oriented programming is the most recent concept among programming paradigms and stillmeans different things to different people.

1.5 BASIC CONCEPTS OF OBJECT ORIENTED PROGRAMMING

It is necessary to understand some of the concepts used extensively in object orientedprogramming. These include:

1. Objects2. Classes3. Data abstraction and encapsulation4. Inheritance5. Polymorphism6. Dynamic binding7. Message passing

We shall discuss these concepts in some detail in this section.

Page 14: Object Oriented · Object Oriented Programming in C++ (Including Lab Programs & Practicals) (As per New CBCS Syllabus for 2nd Year, 4th Semester, B.Com. Computers & Computer Applications

5Object Oriented Programming

1. ObjectsObjects are the basic run-time entities in an object oriented system. They may represent a person,

a place, a bank account, a table of data or any item that the program has to handle. They may alsorepresent user-defined data such as vectors, time and lists. Programming problem is analyzed in termsof objects and the nature of communication between them. Program objects should be chosen such thatthey match closely with the real-world objects. Objects take up space in the memory and have anassociated address like a record in Pascal, or a structure in C.

When a program is executed, the objects interact by sending messages to one another. Forexample, if “customer” and “account” are to object in a program, then the customer object may send amessage to the count object requesting for the bank balance. Each object contain data, and code tomanipulate data. Objects can interact without having to know details of each other’s data or code. It issufficient to know the type of message accepted, and the type of response returned by the objects.Although different author represents them differently, figure below shows two notations that arepopularly used in object oriented analysis and design.

2. ClassesWe just mentioned that objects contain data, and code to manipulate that data. The entire set of

data and code of an object can be made a user-defined data type with the help of class. In fact, objectsare variables of the type class. Once a class has been defined, we can create any number of objectsbelonging to that class. Each object is associated with the data of type class with which they arecreated. A class is, thus, a collection of objects of similar types. For example, Mango, Apple andOrange members of class fruit. Classes are user-defined that types and behaves like the built-in typesof a programming language. The syntax used to create an object is not different than the syntax used tocreate an integer object in C. If fruit has been defines as a class, then the statement

Fruit Mango;

will create an object mango belonging to the class fruit.

Page 15: Object Oriented · Object Oriented Programming in C++ (Including Lab Programs & Practicals) (As per New CBCS Syllabus for 2nd Year, 4th Semester, B.Com. Computers & Computer Applications

6 Object Oriented Programming in C++

3. Data Abstraction and EncapsulationThe wrapping up of data and function into a single unit (called class) is known as encapsulation.

Data and encapsulation is the most striking feature of a class. The data is not accessible to the outsideworld, and only those functions which are wrapped in the class can access it. These functions providethe interface between the object’s data and the program. This insulation of the data from direct accessby the program is called data hiding or information hiding.

Abstraction refers to the act of representing essential features without including the backgrounddetails or explanation. Classes use the concept of abstraction and are defined as a list of abstractattributes such as size, wait, and cost, and function operate on these attributes. They encapsulate all theessential properties of the object that are to be created. The attributes are sometimes called datamembers because they hold information. The functions that operate on these data are sometimes calledmethods or member function.

4. InheritanceInheritance is the process by which objects of one class acquired the properties of objects of

another classes. It supports the concept of hierarchical classification. For example, the bird ‘robin’ is apart of class ‘flying bird’ which is again a part of the class ‘bird’. The principal behind this sort ofdivision is that each derived class shares common characteristics with the class from which it isderived as illustrated in figure below .

In OOP, the concept of inheritance provides the idea of reusability. This means that we can addadditional features to an existing class without modifying it. This is possible by deriving a new classfrom the existing one. The new class will have the combined feature of both the classes. The realappeal and power of the inheritance mechanism is that it allows the programmer to reuse a class, i.e.,almost, but not exactly, what he wants, and to tailor the class in such a way that it does not introduceany undesirable side-effects into the rest of classes.

Page 16: Object Oriented · Object Oriented Programming in C++ (Including Lab Programs & Practicals) (As per New CBCS Syllabus for 2nd Year, 4th Semester, B.Com. Computers & Computer Applications

7Object Oriented Programming

5. PolymorphismPolymorphism is another important OOP concept. Polymorphism, a Greek term, means the

ability to take more than one form. An operation may exhibit different behavior is different instances.The behavior depends upon the types of data used in the operation. For example, consider theoperation 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. The process of making an operatorto exhibit different behaviors in different instances is known as operator overloading.

Figure below illustrates that a single function name can be used to handle different number anddifferent types of argument. This is something similar to a particular word having several differentmeanings depending upon the context. Using a single function name to perform different types of taskis known as function overloading.

Polymorphism plays an important role in allowing objects having different internal structures toshare the same external interface. This means that a general class of operations may be accessed in thesame manner even though specific action associated with each operation may differ. Polymorphism isextensively used in implementing inheritance.

6. Dynamic BindingBinding refers to the linking of a 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 thetime of the call at run time. It is associated with polymorphism and inheritance. A function callassociated with a polymorphic reference depends on the dynamic type of that reference.

Consider the procedure “draw” in figure above by inheritance, every object will have thisprocedure. Its algorithm is, however, unique to each object and so the draw procedure will beredefined in each class that defines the object. At run-time, the code matching the object under currentreference will be called.

7. Message PassingAn object oriented program consists of a set of objects that communicate with each other. The

process of programming in an object oriented language, involves the following basic steps:

(a) Creating classes that define object and their behavior,(b) Creating objects from class definitions, and(c) Establishing communication among objects.

Page 17: Object Oriented · Object Oriented Programming in C++ (Including Lab Programs & Practicals) (As per New CBCS Syllabus for 2nd Year, 4th Semester, B.Com. Computers & Computer Applications

8 Object Oriented Programming in C++

Objects communicate with one another by sending and receiving information much the same wayas people pass messages to one another. The concept of message passing makes it easier to talk aboutbuilding systems that directly model or simulate their real-world counterparts.

A message for an object is a request for execution of a procedure, and therefore will invoke afunction (procedure) in the receiving object that generates the desired results. Message passinginvolves specifying the name of object, the name of the function (message) and the information to besent.

Object has a life cycle. They can be created and destroyed. Communication with an object isfeasible as long as it is alive.

BENEFITS OF OOPOOP offers several benefits to both the program designer and the user. Object Orientation

contributes to the solution of many problems associated with the development and quality of softwareproducts. The new technology promises greater programmer productivity, better quality of softwareand lesser maintenance cost. The principal advantages are:

1. Through inheritance, we can eliminate redundant code and extend the use of existing classes.2. We can build programs from the standard working modules that communicate with one

another, rather than having to start writing the code from scratch. This leads to saving ofdevelopment time and higher productivity.

3. The principle of data hiding helps the programmer to build secure program that cannot beinvaded by code in other parts of a program.

4. It is possible to have multiple instances of an object to co-exist without any interference.5. It is possible to map object in the problem domain to those in the program.6. It is easy to partition the work in a project based on objects.7. The data-centered design approach enables us to capture more detail of software model.8. Object oriented system can be easily upgraded from small to large system.9. Message passing techniques for communication between objects makes to interface

descriptions with external systems much simpler.10. Software complexity can be easily managed.

While it is possible to incorporate all these features in an object oriented system, their importancedepends on the type of the project and the preference of the programmer. There are a number of issuesthat need to be tackled to reap some of the benefits stated above. For instance, object libraries must beavailable for reuse. The technology is still developing and current product may be superseded quickly.Strict controls and protocols need to be developed if reuse is not to be compromised.

OBJECT ORIENTED LANGUAGE

Object oriented programming is not the right of any particular languages. Like structuredprogramming, OOP concepts can be implemented using languages such as C and Pascal. However,

Page 18: Object Oriented · Object Oriented Programming in C++ (Including Lab Programs & Practicals) (As per New CBCS Syllabus for 2nd Year, 4th Semester, B.Com. Computers & Computer Applications

9Object Oriented Programming

programming becomes clumsy and may generate confusion when the programs grow large. Alanguage that is specially designed to support the OOP concepts makes it easier to implement them.

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 following two categories:

1. Object-based programming languages, and2. Object oriented programming languages.

1. Object-based programming is the style of programming that primarily supportsencapsulation and object identity. Major features that are required for object based programming are:

Data encapsulation Data hiding and access mechanisms Automatic initialization and clear-up of objects Operator overloading

Languages that support programming with objects are said to the object-based programminglanguages. They do not support inheritance and dynamic binding. Ada is a typical object-basedprogramming language.

2. Object oriented programming language incorporates all of object-based programmingfeatures along with two additional features, namely, inheritance and dynamic binding. Object orientedprogramming can, therefore, be characterized by the following statements:

Object-based features + Inheritance + Dynamic binding

APPLICATION OF OOPOOP has become one of the programming buzzwords today. There appears to be a great deal of

excitement and interest among software engineers in using OOP. Applications of OOP are beginningto gain importance in many areas. The most popular application of object oriented programming, up tonow, has been in the area of user interface design such as Windows. Hundreds of windowing systemshave been developed using the OOP techniques.

Real business system are often much more complex and contain many more objects withcomplicated attributes and methods. OOP is useful in these types of application because it can simplifya complex problem.

The promising areas of applications of OOP include:

Real-time system Simulation and modeling Object oriented databases Hypertext, Hypermedia, and Expertext AI and expert systems Neural networks and parallel programming Decision support and office automation systems CIM/CAM/CAD systems

Page 19: Object Oriented · Object Oriented Programming in C++ (Including Lab Programs & Practicals) (As per New CBCS Syllabus for 2nd Year, 4th Semester, B.Com. Computers & Computer Applications

10 Object Oriented Programming in C++

The object oriented paradigm sprang from the language, has matured into design, and hasrecently moved into analysis. It is believed that the richness of OOP environment will enable thesoftware industry to improve not only the quality of software system but also its productivity. Objectoriented technology is certainly going to change the way the software engineers think, analyze, designand implement future system.

DIFFERENCE BETWEEN STRUCTURED VS. OBJECT ORIENTEDPROGRAMMING

Structured Programming Object Oriented ProgrammingStructured Programming is designed whichfocuses on process/logical structure and then datarequired for that process.

Object Oriented Programming is designed whichfocuses on data.

Structured programming follows top-downapproach.

Object oriented programming follows bottom-upapproach.

Structured Programming is also known asModular Programming and a subsetof procedural programming language.

Object Oriented Programming supportsinheritance, encapsulation, abstraction,polymorphism, etc.

In Structured Programming, programs are dividedinto small self-contained functions.

In Object Oriented Programming, programs aredivided into small entities called objects.

Structured Programming is less secure as there isno way of data hiding feature.

Object Oriented Programming is more secure ashaving data hiding feature.

Structured Programming can solve moderatelycomplex programs.

Object Oriented Programming can solve anycomplex programs.

Structured Programming provides less reusability,more function dependency.

Object Oriented Programming provides morereusability, less function dependency.

Less abstraction and less flexibility. More abstraction and more flexibility.