1 Syllabus OBJECT ORIENTED PROGRAMMING C++ 1. Introduction : What is object oriented programming? Why do we need objectoriented. Programming characteristics of object-oriented languages. C and C++. 2. C++ Programming basics : Output using cout. Directives. Input with cin. Type bool. The setw manipulator. Type conversions. 3. Functions : Returning values from functions. Reference arguments. Overloaded function. Inline function. Default arguments. Returning by reference. 4. Object and Classes : Making sense of core object concepts (Encapsulation, Abstraction, Polymorphism, Classes, Messages Association, Interfaces) Implementation of class in C++, C++ Objects as physical object, C++ object as data types constructor. Object as function arguments. The default copy constructor, returning object from function. Structures and classes. Classes objects and memory static class data. Const and classes. 5. Arrays and string arrays fundamentals. Arrays as class Member Data : Arrays of object, string, The standard C++ String class 6. Operator overloading : Overloading unary operations. Overloading binary operators, data conversion, pitfalls of operators overloading and conversion keywords. Explicit and Mutable. 7. Inheritance : Concept of inheritance. Derived class and based class. class constructors, member function, inheritance in the distance class, class hierarchies, inheritance and graphics public and private inheritance, aggregation : Classes within inheritance and program development. Derived English shapes, classes,
2 8. Pointer : Addresses and pointers. The address of operator and pointer and arrays. Pointer and Faction pointer and C-types string. Memory management : New and Delete, pointers to objects, debugging pointers. 9. Virtual Function : Virtual Function, friend function, Static function, Assignment and copy initialization, this pointer, dynamic type information. 10. Streams and Files : Streams classes, Stream Errors, Disk File I/O with streams, file pointers, error handling in file I/O with member function, overloading the extraction and insertion operators, memory as a stream object, command line arguments, and printer output. 11. Templates and Exceptions : Function templates, Class templates Exceptions 12. The Standard Template Library : Introduction algorithms, sequence containers, iteators, specialized iteators, associative containers, strong user-defined object, function objects. Term work / Practical : Each candidate will submit a journal in which at least 10 assignments based on the above syllabus and the internal paper. Test will be graded for 10 marks and assignments will be graded for 15 marks. 1. Object Oriented Programming in C++ by Robert Lafore Techmedia Publication. 2. The complete reference C – by Herbert shieldt Tata McGraw Hill Publication. 3. Object Oriented Programming in C++ Saurav Sahay Oxford University Press. 4. Object Oriented Programming in C++ R Rajaram New Age International Publishers 2nd. 5. OOPS C++ Big C++ Cay Horstmann Wiley Publication.
3 Practical for C++ Programming exercises and project using C++ programming languages, to study various features of the languages. Stress to be laid on writing well structured modular and readable programs accompanied by good documentation. The topic wise assignments are as follows : 1. Function Blocks a. Handling default reference arguments b. Handling inline and overloaded function 2. Objects and Classes a. Creating UDT using classes and object 3. Arrays and String as objects a. Insertion, Deletion, reversal sorting of elements into a single
4 1 FUNDAMENTALS OF C++ Unit Structure 1.1 Introduction of C++ 1.2 Object-Oriented Programming 1.3 Encapsulation 1.4 Polymorphism 1.5 Inheritance 1.6 The Need for C++ 1.7 Characteristics of OOPs 1.8 C++ and C 1.1 INTRODUCTION OF C++ The history of C++ begins with C. C++ is built upon the foundation of C. Thus, C++ is a superset of C. C++ expanded and enhanced the C language to support object-oriented programming (which is described later in this module). C++ also added several other improvements to the C language, including an extended set of library routines. However, much of the spirit and flavor of C++ is directly inherited from C. Therefore, to fully understand and appreciate C++, you need to understand the “how and why” behind C. C++ was invented by Bjarne Stroustrup in 1979, at Bell Laboratories in Murray Hill, New Jersey. He initially called the new language “C with Classes ” However in 1983 the name was changed to C++ Stroustrup built C++ on the foundation of C including all of C’s features attributes and benefits He also adhered to C’s underlying philosophy that the programmer not the language is in charge t this point it is critical to understand that Stroustrup did not create an entirely new programming language. Instead, he enhanced an already highly successful language. Most of the features that Stroustrup added to C were designed to support object-oriented programming. In essence, C++ is the object-oriented version of C. By building upon the foundation of C, Stroustrup provided a smooth migration path to OOP. Instead of having to learn an entirely new language, a C programmer needed to learn only a few new features before reaping the benefits of the object-oriented methodology