Tribhuvan University

Institute of Science and Technology


Bachelor Level / second-semester / Science

Computer Science and Information Technology( CSC166 )

Object-Oriented Programming

Full Marks: 60 + 20 + 20

Pass Marks: 24 + 8 + 8

Time: 3 Hours

Candidates are required to give their answers in their own words as far as practicable.

The figures in the margin indicate full marks.

Group A

Attempts any TWO questions


Explain the concept of user-defined to user-defined data conversion routine located in the destination class.


Depict the difference between private and public derivation. Explain derived class constructor with suitable program.


Briefly explain the hierarchy of stream classes. Write a program that overloads extraction and insertion operators.

Group B

Attempts any EIGHT questions


Write a member function called reverseit() that reverses a string ( an array of character). Use a for loop that swaps the first and last characters, then the second and next-to last characters and so on. The string should be passed to reverseit() as an argument.


What is the principle reason for using default arguments in the function? Explain how missing arguments and default arguments are handled by the function simultaneously?


“An overloaded function appears to perform different activities depending the kind of data send to it” Justify the statement with appropriate example.


Explain the default action of the copy constructor. Write a suitable program that demonstrates the technique of overloading the copy constructor.


Briefly explain types of inheritance used in object oriented Programming.


Create a real scenario where static data members are useful. Explain with suitable example.


Create a function called swaps() that interchanges the values of the two arguments sent to it (pass these arguments by reference).  Make the function into a template, so it can be used with all numerical data types (char, int, float, and so on). Write a main() program to exercise the function with several types.


Explain how exceptions are used for handling C++ error in a systematic and OOP-oriented way with the design that includes multiple exceptions.


How is character I/O different from Binary I/O? Explain with examples.