1) Create a class named employee which stores employee ID, employee name, date of birth, date of joining, designation and department. The class must include a constructor which initializes object of that class, a member function which modifies value of department and designation and a function to print all the information of the class. Describe the features of the term Class and Object in the context of object oriented programming in the context of the class you have created.
List the private and public members (data members as well as member functions) for the class employee. Define the data types of member variables using C++ and create few objects of the class.
2) Create another class Manger that is a derived class of class employee. A manager might be working in a department but managing a different department. Therefore, this class has additional information- Manages Department. Create class managers as a sub class of class employee. You should use the following concepts while deriving classes (Also write suitable main( ) to show the concepts):
(a) Overloaded Constructors
(b) Encapsulation
(c) Inheritance
(d) Polymorphism
Describe how and where in your classes – employee and managers the concepts listed above have been demonstrated.
3) What are the advantages of using UML? Create class diagram for the Office having classes – Employee, Manager, Department, Projects. Make appropriate assumptions, if any.
4) Describe the usage of the following C++ operators with the help of example program(s).
(a) Bitwise AND
(b) Explicit Typecasting
(c) Array of Pointer
(d) Arithmetic if operator
5) What is call by value in the context of C++? Describe with the help of the example. What is the problem associate with swap function which tries to exchange values of two variables using third variable and using call by value in a calling program. What are the two different ways you could remedy the problem such that swap function is able to change the values of two variables in the calling function.
6) Write template class “circularqueue” in C++. The class must have functions for adding an element in rear and removing the element from front of the circular queue. The class must have extra functions for Queuefull and queueempty. Use this template to create a circularqueue of integer values with maximum size of 10 elements. Make appropriate assumptions, if any.
7) Create the class LONGBINARYINTEGER which stores only binary digits (0 or 1) in the string of arbitrary length (the string is in the order of lowest significant bit to highest significant bit that is first element is lowest significant bit). The string has the constructor which ensures that String has only binary digits. The class also has the copy constructor, and the overloaded + operator. The overloaded + operator adds two stings bit by bit taking care of the carry bit from previous bit addition. Design and implement class using C++. Write suitable main( ) function to show the functionality of the class.