This document outlines the course content for a Programming in C++ course, including 12 topics that will be covered: 1) principles of object oriented programming, 2) beginning with C++, 3) tokens, expressions, and control structures, 4) functions in C++, 5) classes and objects, 6) constructors and destructors, 7) operator overloading and type conversions, 8) inheritance, 9) pointers, virtual functions and polymorphism, 10) managing console I/O operations, 11) working with files, and 12) templates and exception handling. Students will write programs based on the curriculum and six reference books are provided.
1. GUJARAT TECHNOLOGICAL UNIVERSITY
Diploma in Computer Engineering
Semester: 3
Subject Code
Subject Name PROGRAMMING IN C++
Sr.
Course content
No.
1. Principles of Object Oriented Programming :
1.1 Procedure-Oriented Programming
1.2 Object Oriented Programming paradigm
1.3 Basic concepts of Object Oriented Programming
1.4 Benefits of Object Oriented Programming
1.5 Object Oriented languages
1.6 Application of Object Oriented Programming
2. Beginning with C++ :
2.1 What is C++?
2.2 Application of C++
2.3 C++ statements.
2.4 Structure of C++ program
2.5 Creating the Source file, Compiling and Linking
3. Tokens, Expressions and Control Structures :
3.1 Tokens, Keywords, Identifiers, Basic Data Types User-defined data
types, Derived Data types, Symbolic Constants, Type compatibility,
declaration of variables, Dynamic initialization of variables, Reference
Variables.
3.2 Operators in C++, Scope resolution operator, Member dereferencing
operators, Memory Management Operators, Manipulators, Type cast
operator,
3.3 Expression and Implicit conversions,
...... Operator Overloading,
Operator precedence, Control Structures.
4. Functions in C++ :
4.1 The main function
4.2 Function prototype
4.3 Call by reference, Return by reference
4.4 Inline function
4.5 Default arguments, Const arguments
4.6 Function overloading
4.7 Friend and virtual functions
5. Classes and Objects :
5.1 Overview of C structures
5.2 Specifying a Class
5.3 Defining member functions, nesting of member functions, Private
member function, making outside function inline.
5.4 Arrays within a class
2. 5.5 Memory allocation for objects
5.6 Static data member, Static member functions
5.7 Arrays of Objects
5.8 Objects as function Arguments
5.9 Friendly functions
5.10 Returning objects
5.11 Const member functions
5.12 Pointer to members
6. Constructors and Destructors :
6.1 Constructors, Parameterized Constructors, Multiple constructors in
a Class.
6.2 Constructors with default arguments, Dynamic initialization of
objects.
6.3 Copy constructors, Dynamic Constructors.
6.4 Constructing Two-Dimensional Arrays.
6.5 Destructors.
7. Operator Overloading and Type Conversions :
7.1 Defining Operator Overloading
7.2 Overloading Unary Operators, Binary Operators, Binary operators
using Friends.
7.3 Manipulation of String using operators
7.4 Rules for Overloading operators.
7.5 Type conversions.
8. Inheritance: Extending classes
8.1 Defining Derived classes.
8.2 Single inheritance,
8.3 Making a private member inheritable
8.4 Multilevel and Multiple Inheritance
8.5 Hierarchical Inheritance, Hybrid Inheritance
8.6 Virtual Base classes, Abstract Classes
8.7 Constructors in Derived classes.
8.8 Member classes: Nesting of classes
9. Pointer, Virtual functions and Polymorphism :
9.1 Pointers to objects
9.2 Pointer to Derived classes.
9.3 Virtual functions, Pure virtual functions
10. Managing Console I/O Operations :
10.1 C++ stream
10.2 C++ stream Classes
10.3 Unformatted I/O Operations.
10.4 Formatted Console I/O Operations.
10.5 Managing Output with manipulators
11. Working with Files :
11.1 Classes for File stream operations.
11.2 Opening and Closing a file, Error handling during file operations.
11.3 File modes, File pointers.
3. 11.4 Sequential input and output operations.
11.5 Updating a file: Random access.
11.6 Command - line Arguments.
12. Template and exceptional Handling :
12.1 Introduction.
12.2 Templates.
12.3 Class Templates.
12.4 Function Templates.
12.5 Member Function Templates.
12.6 Template Arguments.
12.7 Exception Handling.
12.8 Syntax of Exception Handling Code.
LABORATORY EXPERIENCES:
Students should write programmes on the basis of prescribed curriculum of
this course.
Reference Books:
1. Object Oriented Programming With C++, Ashok N. Kamthane, Pearson
2. Object Oriented Programming with C++, E. Balagurusamy, TMH
3. Object oriented Programming with C++, Jesse Liberty & keugh, PHI
4. Object Oriented Programming in Turbo C++, Robert Lafore, Galgotia Pub. Waite
Group
5. Object Oriented Programming using C++, Herbert Schidlt, TMH
6. Object Oriented Programming, Sengupta & Chaudhury, PHI