oops course file
Post on 04-Apr-2018
245 Views
Preview:
TRANSCRIPT
-
7/30/2019 OOPS Course File
1/26
RAYAT & BAHRA INSTITUTE OF ENGG. & NANO-TECHNOLOGY
HOSHIARPUR
-
7/30/2019 OOPS Course File
2/26
CS -252 OBJECT ORIENTED PROGRAMMING
Internal Marks: 40 L T P External
Marks: 60 3 1 0
Total Marks: 100
1. Basics of C & C++
Introduction, Basics, Data Type, Bit Field integer, Operations, Control Structures, Storage Classes, User
Defined Data Type, Reserved Words and Standard I/O Statements in C & C++.2. Object Orient Programming With C++
Introduction, Object Oriented Programming Concept, Objective of OPP, Programming Structure in C++,
Data Abstraction
3. Overloading and Information Hiding
Introduction, Function Overloading, Information Hiding
4. Memory Management in C++:
Introduction, Constructor-Automatic Initialization of Objects, Dynamic Memory Management, Default
Constructor, Copy Constructor, Constructor and Information Hiding, Destructor-Automatic Clear up of
an Object
5. Inheritance
Introduction, Inheritance-Data and Code Sharing, Class Derivation, Ambiguity in Class Member Access,
Virtual Base Class-A Remedy, Class Initialization in Inheritance, Arguments for the Base Class
6. Bindings and Polymorphism
Introduction, Bindings in C++, Polymorphism
7. Generic Facility
Introduction, Concept of Generic Facility, Generic Function, Overloading a Generic Function, Generic
Classes
8. File Handling in C++
Introduction, Concept of Stream in C++, File Positioning Functions, Error Handling During FileOperation
-
7/30/2019 OOPS Course File
3/26
Rayat-Bahra Institute of
Engineering &Nano-Technology, Hoshiarpur.
LESSON PLAN (THEORY)
Name of the faculty Member: Er. Simarpreet Singh Department: CSE/IT
Course Title: OOPS Course Code: CS-252
Class: ECE II B Session: August-December
Semester: 3rd Batch: 2010-2013
SNo. Topic/Subtopic Lecturers
Required
Syllabus to be covered before MST I (15Letures)1. Brief introduction with students, introducing the scope of the subject and the approach to
be taken to discuss and deliberate the subject matter, and introducing the evaluation plan.
1
2. Quick review of the subject matter learned in their first year 13. Concepts of Object-Oriented Programming:
Basic of OOPS, Classes, objects and its attributes, some real life examples of objects,
Roles of objects, operations on objects, abstraction, encapsulation and suitable examples
Data hiding, inheritance, overloading, polymorphism, dynamic binding, messaging.
3
1
1
1
4. Console Input/Output Handling:
Introdcuing the concept of streams, pre-defined streams, I/O handling using Insertion() operators
I/O using member functions of I/O streams getc(), putc(), getline(), write().
Formatting output using member functions and flags ofios class
Formatting output using manipulators, creating own manipulators.
4
1
1
1
1
5. Classes & Objects:
Defining a class, creating objects, accessing members of a class
Defining member functions (inside as well as outside the class)
Static members and their storage and handling
Passing objects as functions arguments, returning objects from functions.
4
1
1
1
1
6. Constructors & Destructors:
Introduction to constructor, special characteristics of constructors, need for constructors,
declaration and definition of constructors
Types of constructor default, zero argument, parameterized, dynamic constructor.
4
1
1
-
7/30/2019 OOPS Course File
4/26
Syllabus to be covered before MST II (15Letures)7. Constructors & Destructors contd.:
Copy constructor, explicit constructor, overloading of constructors, initializer list.
Introduction to destructor, special characteristics of destructors, need for destructors,
declaration and definition of constructors
1
1
8. Overloading and Type Conversion:
Meaning of overloading and its benefits, Function Overloading.
Rules for overloading, Overloading increment/ decrement operators.
Overloading unary and binary operators, overloading relational operators.
Overloading of memory management operators, overloading I/O stream operators.
Type conversions basic to class type, class type to basic type, class type to class type.
4
1
1
1
1
9. Inheritance:
Meaning of inheritance and its benefits, types of inheritances, role of access specifiers in
inheritance.
Overriding member functions, Ambiguities in multiple, hybrid type of inheritance and its
handling.
Order of execution of constructors & destructors, few practical examples.
3
1
1
1
1
0.
Pointers:
Introduction to pointers, accessing address of a variable, declaring and initializing
pointers, dereferencing a pointer
Pointer arithmetic, Memory allocation static & dynamic, heap/free store, introduction to
dynamic memory management new and delete operators.
Pointers as function arguments, pointers and arrays, pointers and structures.
Pointer and classes, debugging pointers, Few practical examples to demonstrate the use
of pointers.
4
1
1
1
1
1
1.
Polymorphism & Virtual Functions:
Introduction to polymorphism, early v/s late binding, virtual functions, abstract classes.
Pure virtual functions, virtual destructors and polymorphism.
2
1
1
-
7/30/2019 OOPS Course File
5/26
Syllabus to be covered before MST III (07Letures)1
2.
Generic Programming:
Concepts of generic facility and source code level reuse, generic functions.
Generic classes. Brief introduction to STL
2
1
1
1
3.
Exception Handling:
Tradition error handling and its limitations, basics of exception handling, mechanism of
exception handling, keywords used for exception handling facility.
Throwing and catching exception, re-throwing exceptions, specifying exceptions.
Generic classes. Brief introduction to STL
2
1
1
1
4.
File Handling:
Introduction to data files, justification for the use of data files, introduction to file
streams, opening a file using constructors and open() member function.
Reading/writing of sequential files, file pointers and their manipulation.
Accessing files randomly, error handling during file operations.
3
1
1
1
Total Lectures - 36
-
7/30/2019 OOPS Course File
6/26
Text Books & References:
S. No Title of Book Name of Author Name of Publisher
1.Object Oriented
Programming with C++
Robert Lafore Pearson
2.
A Complete Reference to
C++ Language
R. S. Salaria
Salaria Publishing House
3.Object Oriented
Programming with C++
E. Balaguruswamy Tata McGraw Hill
4.The C++ Programming
Language
Bjarne StroustrupAddison Wesley
5.Programming With C++
(Schaum Series)
John R. Hubbard Tata McGraw Hill
6.
Test Your Skills in Object-
Oriented Programming
With C++
R. S. Salaria
Salaria Publishing House
-
7/30/2019 OOPS Course File
7/26
Rayat Bahra Institute Of Engg. & Nano Technology Hoshiarpur
CS -252 OBJECT ORIENTED PROGRAMMING
ASSIGNMENT 1
Topic(s) Covered: BASICS OF C and C++, OPERATORS,
Date of Allotment: Date of Submission:
Q1.
(a) What do you understand by C++ Tokens?
(b) What are Keywords ?
(c) What are different data types in C++ ?
(d) What are operators in C++ ?
(e) What are constants?
(h) What is the range and size of basic data types?
(i) Differences between C and C++
-
7/30/2019 OOPS Course File
8/26
Rayat Bahra Institute Of Engg. & Nano Technology Hoshiarpur
CS -252 OBJECT ORIENTED PROGRAMMING
ASSIGNMENT 2
Topic(s) Covered: CONTROL STRUCTURES:
Date of Allotment: Date of Submission:
Q1. Explain: Conditional Statement(if, if-else, nester-if, switch)
Q2. Explain: Loop Statements(for, while, do-while)
Q3. Explain: Breaking Control Statements(break, continue, goto)
Q4. Explain what inline functions are.
Q5. Write a program to illustrate the function with no arguments but has a return value.
Q6. What is friend function? Explain with the help of a program.
-
7/30/2019 OOPS Course File
9/26
Rayat Bahra Institute Of Engg. & Nano Technology Hoshiarpur
CS -252 OBJECT ORIENTED PROGRAMMING
ASSIGNMENT 3
Topic(s) Covered: Concept of OOPs
Date of Allotment: Date of Submission:
Q1.Explain the Objectives of OOP.
Q2.Explain the terms:-Objects
Classes
Encapsulation
Inheritance
Reusability
Polymorphism.
Abstraction
Q3. Difference between OOPs and procedure oriented language.
Q4.Explain the basic skeleton structure of C++ with the help of example.
-
7/30/2019 OOPS Course File
10/26
Rayat Bahra Institute Of Engg. & Nano Technology Hoshiarpur
CS -252 OBJECT ORIENTED PROGRAMMING
ASSIGNMENT 4
Topic(s) Covered: Constructors & Destructors, Operator Overloading,Pointers & Dynamic
Memory Management
Date of Allotment: Date of Submission:
Q1.What is role played by constructors and destructors? Give key special characteristics of constructors
and destructors.
Q2.Define the Terms: Default constructor
Copy constructor
Parameterized Constructor
Q3. What is operator overloading? What benefit is derived using operator overloading.
Q4. What is a pointer? What kind of operations can be performed on pointers?
Q5. What is dynamic memory management? How this is done in C++?
Q6. What is this pointer? What is special about this pointer
-
7/30/2019 OOPS Course File
11/26
Rayat Bahra Institute Of Engg. & Nano Technology Hoshiarpur
CS -252 OBJECT ORIENTED PROGRAMMING
ASSIGNMENT 5
Topic(s) Covered: Inheritance,Access specifiers,virtual base classes and
abstract class
Date of Allotment: Date of Submission:
Q1. What is Inheritance? Explain its types and its usefulness.
Q2. Define Access Specifiers. What is the difference b/w Private, Public, Protected derivation?
Q3.What is the application of Scope Resolution operator in C++?
Q4. Define Virtual Base Class.
Q5. What is Abstract Classes?
-
7/30/2019 OOPS Course File
12/26
Rayat Bahra Institute Of Engg. & Nano Technology Hoshiarpur
CS -252 OBJECT ORIENTED PROGRAMMING
ASSIGNMENT 6
Topic(s) covered :Polymorphism,Binding,Virtual Function,Friend Function
Date of Allotment: Date of Submission:
Q1. What is polymorphism and how is it implemented in C++?Explain its types
Q2. Explain the concept of Binding and also explain its types.
Q3. Differentiate between early (static) and late (dynamic) binding.
Q4. Define Virtual Function with the help of example.
Q5. Difference between Virtual function and Pure Virtual Function.
Q6. Define Friend Function. explain its advantages.
Q7. Write a program using friend function.
-
7/30/2019 OOPS Course File
13/26
Rayat Bahra Institute Of Engg. & Nano Technology Hoshiarpur
CS -252 OBJECT ORIENTED PROGRAMMING
ASSIGNMENT 7
Topic(s) Covered: Generic Facility
Date of Allotment: Date of Submission
Q1.Define generic Pointers.
Q2.Explain the concept of generic classes with the help of suitable Example.
Q3.Define Generic Functions .Overloading of Generic Functions.
-
7/30/2019 OOPS Course File
14/26
Rayat Bahra Institute Of Engg. & Nano Technology Hoshiarpur
CS -252 OBJECT ORIENTED PROGRAMMING
ASSIGNMENT- 8
Topic(s) Covered: File handling
Date of Allotment: Date of Submission:
Q1. What are the different ways to open a file? Give example in each case.
Q2.What is a file pointer?
Q3.Explain various steps in processing a file.
Q4.What are command line arguments?
Q5.How is an error handled in a file in C++?
Q6.What is an exception?
Q7.What is Random Access File?How random access is done in files?
-
7/30/2019 OOPS Course File
15/26
List of experiments:
1. WAP to find the largest out of four numbers.
2. WAP to find reverse of the input number.
3. WAP to generate the Fibonacci series till Nth term
4. WAP to find factorial of a number using recursive function
5. WAP to create a four function calculator (using switch case).
6. WAP to add, subtract and multiply two complex numbers using structure.
7. WAP to display contents of objects using operator overloading
8. WAP to implement multiple inheritance
9. WAP to read an array, sort that array and then print.
10. WAP to read two strings concatenates these two and print result.
11. WAP to implement matrix multiplication
12. WAP to swap two numbers using pointers
13. WAP to read data variables of a class by member function and display contents of class objects onscreen.
14. WAP to generate Fibonacci series using constructor.
15. WAP to print the object number whenever we create an object.
16. WAP to concatenate two strings by operator overloading.
17. WAP to show the concept of function overloading.
18. WAP to write a set of lines from keyboard & to store it on a specified file.
19. WAP to access the private Data of a class by non-member function through a friend function.
20. WAP to illustrate the concept of generic facility.
-
7/30/2019 OOPS Course File
16/26
RAYAT BAHRA INSTITUTE OF ENGINEERING & NANO-TECHNOLOGY ,
HOSHIARPUR
QUESTION BANK
UNIT-I FUNDAMENTALS
PART-A (2MARKS)
1) What is Object Oriented Programming?
2) Write any four features of OOPS.
3) What are the Basic concepts of OOS?
4) What is Procedure oriented language?
5) Define objects.
6) Define class.
7) Give any four advantages of OOPS.
8) Give any four applications of OOPS.
9) Give any four applications of C++.10) Define tokens.
11) What is keyword?
12) Rules for naming the identifiers in C++.
13) What is a scope resolution operator?
14) Rules for naming the identifiers in C++.
15) What are the operators available in C++?
16) What are free store operators (or) Memory management operators?
17) What do you mean by enumerated data type?
18) Define the term Standard Template Library (STL).
19) Explain in details about the concepts of OOPs?
20) Explain in detail about Programming Elements
21) Explain in detail about the following terms with example programs
22) (a)Function Invocation
23) (b)Function Prototypes
24) What is meant by Default arguments? Give example program
25) What do you mean by enumerated data type?
26) What are symbolic constants?
27) What do you mean by dynamic initialization of variables?
28) What are reference variable?29) What is member-dereferencing operator?
30) What is function prototype?
31) What is an inline function?
32) Write some situations where inline expansion may not work.
33) What is a default argument?
34) What are the constant arguments?
35) What is call- by- reference?
36) Define Function Overloading? Explain the example program.
37) Explain in detail about Scope class38) Explain in detail about Storage class with example program
39) Write short notes on Pointer Types
40) Explain in detail about
41) (a)Arrays and Pointers
42) (b)Standard Template Library (STL)
-
7/30/2019 OOPS Course File
17/26
43) What is meant by data hiding?
44) Name at least two Oops languages other than C++.
45) What is Object oriented Paradigm? Explain the various Features of oops
46) Advantages of OOPS.
47) Merits &Demerits
48) Write about If. Else Statements and Switch Statement and DoWhile Statement.
49) Write about functions in C++ in detail.
PART-B (8 MARKS)
50) Explain with the Basic Concepts of object oriented programming.
51) Explain the elements of object oriented programming. (8)
52) What are the difference between reference variables and normal variables? Why cannot a constant
value be initialized to variables of reference type? (8)
53) Explain about call-by-reference and pointer types with program.
54) Describe the advantages of OOP. (8)
55) What are the difference between pointers to constants and constant to pointers? (8)
56) Describe the applications of OOP technology. (8)
57) What is function invocation? Explain briefly with program. (8)
58) Explain the merits and demerits of object oriented methodology. (8)
59) Write notes on Standard Template Library. (8)
UNIT-II
Classes & Objects
PART-A(2MARKS)1) What is the use of copy constructor?
2) What is the need for having static members in a class? Give example.
3) What is the variable in C++? How to form a variable?
4) What is constructor? What is its role?
5) What is class? What are parts of class speciation?
6) Draw a stream class hierarchy.
7) Explain the declaration of a class in C++.How will you define the member function of a class?
Explain
8) What is the need for parameterized constructor? Explain the function of constructors with their
declaration inside a class
9) Explain all types of inheritance.
10) What is virtual function? Give an example to highlight its need?
11) What is a Friend function? Describe their benefits and limitations? Give suitable
example.
12) What is meant by function overloading? Write the rules associated with function
13) overloading. Give suitable example to support your answer?
14) Explain virtual base classes and virtual function, pure virtual function.
15) Define the term Aggregate Type Struct.
16) What is structure Pointer Operator?
17) What is Union?
18) Define Bit Fields.
19) How the Class is specified?
20) How the member functions are defined?
-
7/30/2019 OOPS Course File
18/26
21) Define constructor.
22) Define default constructor.
23) Define parameterized constructor.
24) What is the ambiguity between default constructor and default argument constructor?
25) Define copy constructor.
26) Define default argument constructor.
27) Define Destructor.28) Write some special characteristics of constructor.
29) How the objects are initialized dynamically?
30) What is static data member?
31) What is static member function?
32) What is the use of this keyword?
33) Differ Explain in detail about Structure with syntax and write example program.
34) Define Union. Explain with example program.
35) Explain in detail about Bit -Field Structures.
36) Define Member Function and explain in detail about function inside
37) the class body with example program .
38) What is Parameterized constructor? Give syntax and example program
39) Define Member Function and explain in detail about function outside the class body
40) with example program.
41) (a)What is Default constructor? Give syntax and example program
42) What is Copy constructor? Give syntax and example program
43) Write short notes on
44) Static Member function
45) This Pointer
46) What is Destructor? Give syntax and example program47) Write short notes on
48) Classes with necessary syntax and example program
49) Difference between Structure and Union.
UNIT-III
IMPLEMENTING ADTs & ENCAPSULATION
PART-A (2MARKS)
1) What is an encapsulation?
2) What is static data member?
3) What is static member function?
4) How the objects are used as function argument?
5) Define const member.
6) Define pointers to member.
7) Define constructor.
8) Define default constructor.
9) Define parameterized constructor.
10) Define default argument constructor.
11) What is the ambiguity between default constructor and default argument constructor?
12) Define copy constructor.
-
7/30/2019 OOPS Course File
19/26
13) Define dynamic constructor.
14) Define const. object.
15) Define destructor.
16) Define multiple constructors.
17) Write some special characteristics of constructor.
18) How the objects are initialized dynamically?
19) Difference between structure and union.20) Define Bit Fields
PART-B (8 MARKS)
1) Explain copy constructor and destructor with suitable C++ coding.
2) Explain about structure pointer operator and unions with program.
3) Explain about Implementation of simple ADTs.
4) Explain about static member and this pointer with suitable code.
5) What is a Bit field? Explain briefly.
6) Explain about Data Handling and member function.
UNIT-IV
POLYMORPHISM
PART-A (2MARKS)
1) What is polymorphism? What are its types?
2) What is operator overloading?
3) What is function overloading? Give an example.
4) List out the operators that cannot be overloaded.
5) What is the purpose of using operator function? Write its syntax.
6) Write at least four rules for Operator overloading.7) How will you overload Unary & Binary operator using member functions?
8) How will you overload Unary and Binary operator using Friend functions?
9) How an overloaded operator can be invoked using member functions?
10) How an overloaded operator can be invoked using Friend functions?
11) List out the operators that cannot be overloaded using Friend function.
12) What is meant by casting operator and write the general form of overloaded casting operator?
13) What is overloaded function selection algorithm?
14) What is meant by pointer operators?
15) Define ADTs.
PART-B (8 MARKS)
1) Explain about Unary Operator and Binary Operator Overloading with program.
2) Define the polymorphism. Explain the different types of polymorphism.
3) List out the rules for overloading operators with example.
4) Write Notes on ADT Conversions.
5) Explain about Function selection with program.
6) Explain about pointer operator with program.
UNIT-V
INHERITANCE
PART-A (2MARKS)
-
7/30/2019 OOPS Course File
20/26
1) Define basic to class type conversion with an example.
2) Define class to basic type conversion with an example.
3) Define one class to another class conversion with an example.
4) What is meant by inheritance?
5) What is meant by single inheritance?
6) What is multiple inheritances?
7) What is hierarchical inheritance?8) What is multilevel inheritance?
9) What is hybrid inheritance?
10) What is meant by Abstract base class?
11) Write short notes on virtual base class.
12) What are Friend functions? Write the syntax
13) Write some properties of friend functions.
13) What are the virtual functions?
14) Write some of the basic rules for virtual functions
15) What are pure virtual functions? Write the syntax.
16) What is an Exception?
17) Give any rules for Virtual Functions.
18) What is Visibility mode?
PART-B (8 MARKS)
1) What are the virtual functions? Explain their needs using a suitable example. What are the rules
associated with virtual functions?
2) What are the different forms of inheritance supported in C++? Discuss on the visibility of base
class members in privately and publicly inherited classes.
3) What are abstract classes? Give an example (with the program) to illustrate the use of abstractclasses.
4) (a) Explain about Code Reuse with program.
(b) Discuss about Run Time Type Identifications.
5) Write notes on Typing conversions and derived class with program.
6) Explain about Exceptions Handlers and Standard Exceptions.
UNIT-VI
TEMPLATES & FILE HANDLING
PART-A (2MARKS )
1) Define Streams.
2) What are the input and output streams?
3) Classify the streams.
4) Difference between get(),put ().
5) How to open and close a file?
6) Write some file opening modes.
7) What is a file pointer?
8) What is command-line argument?
9) What is an error and error handling functions?
10) How will you create manipulators?
11) Write the syntax and use of getline () and write () functions.
12) Give two types of template.
13) Define try and catch.
14) Define Exception handling.
-
7/30/2019 OOPS Course File
21/26
15) Define File modes.
16) Give the general syntax for throw.
PART-B (8 MARKS)
1) Explain about Template and its types with example.
2) Discuss about Streams and stream classes
3) Write notes on Formatted and Unformatted Console I/O Operations.4) Explain about File Pointers and Manipulations with example.
5) Discuss about manipulators and file streams with Program.
6) Write on Details about File modes and File I/O.
7) Details for Exception Handling with Program.
-
7/30/2019 OOPS Course File
22/26
TUTORIAL 1
1. What are compile time and runtime errors?
2. Name at least two Oops languages other than C++.
3. List out any two drawbacks of Procedure oriented languages.
4. Differentiate Object oriented and Object based Programming languages.
5. What is the role of switch statement in C++?
6. What is the main function of cout and cin?
7. Write a program to explain different types of arithmetic operators.
8. Write a program to find out largest among four numbers.
9. Briefly explain the use of break with switch statement in C++?
10. Relate object and class in OOP
-
7/30/2019 OOPS Course File
23/26
TUTORIAL 2
1. Write a program to print the following output using For loop
*
**
***
..
2. Write a program to swap two numbers using
1. third variable
2. without third variable
. How are prefix and postfix versions of operator++() differentiate?
. WAP to compute average of N real numbers.
. Write a program to check whether a number is Armstrong or not.
. Write a program to count the number of alphabets in a string.
. What is the difference between = and ==?
. Distinguish between the different types of loops with example.
. Why do we need the preprocessor directive #include?
0. Describe the unique advantages of an object oriented programming paradigm.
1. What is recursion? Write a recursive program to find division of two integers?2. WAP a program to print table of 2.
3. Write a program to implement the following output: -
*
* *
* * *
14. Write a program to implement matrix multiplication and addition.
-
7/30/2019 OOPS Course File
24/26
TUTORIAL 3
1. Write a program to implement an array
2. Write a program to implement 2D array
3. Write a program to implement an array within a structure.
4. Explain the term inline function.
5. Define structures.
6. Write a program to find out the biggest element in an array.
7. Write a program to sort elements in an array.
8. Write a program to implement a structure containing an information student.
9. What is the difference between Array and Structure?
10. How private and public members make a difference?
11. How does a main() function in C++ differ from main in c?
12. Write a program to find out the roots of a quadratic equation?
13. What is the main advantage of passing an argument by reference?
14. Write a program to implement addition of two complex numbers.
-
7/30/2019 OOPS Course File
25/26
TUTORIAL 4
1. Distinguish between the following terms:
Objects and classes
Data abstraction and data encapsulation
Inheritance and polymorphism
Dynamic binding and message passing
2. Describe the mechanism accessing data members and member functions in the following cases:
Inside the main program
Inside the member function of the same class
Inside the member function of the other class
3. What do you mean by inheritance in C++?
4. Describe the different forms of inheritance? Give example of each.
5. Describe the syntax of single inheritance in C++.
6. Write a program to implement hybrid inheritance.
7. When does an ambiguity occur in multiple inheritances? How can this ambiguity be resolved.
-
7/30/2019 OOPS Course File
26/26
TUTORIAL 5
1. Explain the concept of classes in C++.
2. What are access modifiers? Explain
3. Explain the concept of call by value and call by reference with the help of program.
4. How object of a Class are created?
5. Can we initialize a data member in class template? If not why?
6. Explain polymorphism in C++.
7. Differentiate between polymorphism at run time and compile time.
8. Why do we need virtual functions?
9. What are pure virtual functions?
10. Explain the following terms with suitable examples: -
virtual base class
Abstract class
top related