SlideShare a Scribd company logo
International Islamic University, Islamabad
Faculty of Engineering & Technology
Department of Electrical and Computer Engineering
CS101L
Object Oriented Programming
Lab Manual
Subject Teacher:
Lab Instructor:
Student
Name
Reg.
No.
Section
Prepared by:
Engr. Rashid Farid Chishti
Lecturer, Department of Electrical and Computer Engineering.
Faculty of Engineering and Technology.
International Islamic University, Islamabad.
International Islamic University, Islamabad
Faculty of Engineering & Technology
Department of Electrical and Computer Engineering
CS101L
Object Oriented Programming
Lab Manual
Names of Group Members
Student
Name
Reg.
No.
Student
Name
Reg.
No.
Student
Name
Reg.
No.
Student
Name
Reg.
No.
CS101L
Object Oriented Programming
Lab Manual
OBJECTIVE
The objective of this lab is to make students learn about fundamental concepts
of Object-Oriented Programming and its implementation in C++ language. The
lab covers the concepts of classes, objects, attributes, operator overloading,
inheritance, virtual functions, and friend functions.
CLO CLO Description DOMAIN PLO
01 Develop small to moderate programs while
exhibiting the object-oriented programming
skills.
C3 02
02 Build small software using OOP. P2 05
03 Participate effectively as an individual or in a
team.
A2 09
CLO: Course Learning Outcome.
PLO: Program Learning Outcome.
Object Oriented Programming Lab Rubrics
Name: Reg. No.: Signature: Instructor:
a) PSYCHOMOTOR (To be judged in the field/lab during experiment. check coding and take viva)
Sr.
No.
Criteria
Level
1
(0%)
Level 2
(25%)
Level 3
(50%)
Level 4
(75%)
Level 5
(100%)
Lab
Lab
1
Lab
2
Lab
3
Lab
4
Lab
5
Lab
6
Lab
7
Lab
8
Lab
9
Lab
10
Lab
11
Lab
12
Lab
13
Lab
14
1
Program
Implementation
0 1 2,3 4,5 6 Weightage 6 6 6 6 6 6 6 6 6 6 6 6 6 6
Absent
With several
critical errors
With few
critical
errors
With some
non-critical
errors
Without
errors
Obtained
Sub Total Marks ( TP ) Obtained Marks ( OP )
(b) AFFECTIVE (To be judged in the field/lab during experiment, Check attitude)
Sr.
No.
Criteria
Level
1
(0%)
Level 2
(25%)
Level 3
(50%)
Level 4
(75%)
Level 5
(100%)
Lab
Lab
1
Lab
2
Lab
3
Lab
4
Lab
5
Lab
6
Lab
7
Lab
8
Lab
9
Lab
10
Lab
11
Lab
12
Lab
13
Lab
14
2
Level of
Participation &
Attitude to
Achieve
Individual/Group
Goals
0 1 2 3 4 Weightage 4 4 4 4 4 4 4 4 4 4 4 4 4 4
Absent Bad Attitude
Decent
Attitude
Good
Attitude
Proactive
Attitude
Obtained
Sub Total Marks( TA ) Obtained Marks ( OA )
3 Total Marks ( TP + TA ) : Obtained Marks ( OP + OA )
LIST OF EXPERIMENTS
LAB 1 : CLASSES AND OBJECTS 1
LAB 2 : CONSTRUCTORS 3
LAB 3 : DESTRUCTORS 8
LAB 4 : PASSING OBJECTS AS FUNCTION ARGUMENTS. 13
LAB 5 : PASSING OBJECTS BY REFERENCE. 19
LAB 6 : UNARY OPERATOR OVERLOADING 25
LAB 7 : BINARY OPERATOR OVERLOADING 31
LAB 8 : INHERITANCE 37
LAB 9 : USING INHERITANCE IN DATE AND DOB 42
LAB 10 : MULTIPLE INHERITANCE 47
LAB 11 : VIRTUAL FUNCTIONS 52
LAB 12 : FRIEND FUNCTIONS 58
LAB 13 : STATIC FUNCTIONS 62
LAB 14 : FILE HANDLING IN C++ 66
Object Oriented Programming Lab 1
1
International Islamic University Islamabad
Faculty of Engineering and Technology
Department of Electrical and Computer Engineering
Object Oriented Programming Lab (CS101L)
Lab 1 : Classes and Objects
Name:
Reg. No:
Date of
Experiment:
OBE Rubrics Evaluation
a) PSYCHOMOTOR (To be judged in the field/lab during experiment)
Sr.
No.
Criteria
Level 1
(0%)
Level 2
(25%)
Level 3
(50%)
Level 4
(75%)
Level 5
(100%)
Marks
Obtained
1
Practical
Implementation
0 1 2,3 4,5 6
Absent
With several
critical errors
and
incomplete
With few
errors, and
incomplete
With some
errors and
complete
Without
errors and
complete
(b) AFFECTIVE (To be judged on the copy of experiment submitted)
Sr.
No.
Criteria
Level 1
(0%)
Level 2
(25%)
Level 3
(50%)
Level 4
(75%)
Level 5
(100%)
Marks
Obtained
2
Level of
Participation &
Attitude to Achieve
Individual/Group
Goals
0 1 2 3 4
Absent Bad Attitude
Decent
Attitude
Good
Attitude
Proactive
Attitude
3 Total Marks Obtained (Out of 10):
Object Oriented Programming Lab 1
2
Q1. Make a Circle class.
 It has three attributes radius, the x and the y coordinates of
its center of double data type.
 Make void set(double, double, double) functions to set x, y and
radius.
 Make void get() functions to get x, y and radius from user.
 Make void show() function to display x , y coordinates and radius
of a circle.
 Make double area() function, and a double circumference()
function to calculate and return area and circumference.
 Call these functions in main() to test their working.
This should be the output of program
Q2. Make a Rectangle class.
 It has two attributes length, and width of int data type.
 Make two member functions int perimeter() and int area() to
calculate and return perimeter and the area of a rectangle.
 Make void set( int l, int w) and void get() functions to change
the length and width attributes.
 Make a void draw() function that draws a rectangle using a
character * on console.
Radius: 50, x: 10, y: 20
Area of c1 = 7854
Circumference of c1 = 314.16
Enter Radius: 10
Enter x-coordinate: 3
Enter y-coordinate: 5
Radius: 10, x: 3, y: 5
Area of c2 = 314.16
Circumference of c2 = 62.832
Press any key to continue . . .
Object Oriented Programming Lab 1
3
*********
* *
* *
*********
This should be the output of program
Length: 4
Width : 6
Area of Rectangle = 24
Perimeter of Rectangle = 20
******
* *
* *
******
Press any key to continue . . .
Object Oriented Programming Lab 1
1
Solution Lab 1 Task 1:
Object Oriented Programming Lab 1
2
Solution Lab 1 Task 2:
Object Oriented Programming Lab 2
3
International Islamic University Islamabad
Faculty of Engineering and Technology
Department of Electrical and Computer Engineering
Object Oriented Programming Lab (CS101L)
Lab 2 : Constructors
Name:
Reg. No:
Date of
Experiment:
OBE Rubrics Evaluation
a) PSYCHOMOTOR (To be judged in the field/lab during experiment)
Sr.
No.
Criteria
Level 1
(0%)
Level 2
(25%)
Level 3
(50%)
Level 4
(75%)
Level 5
(100%)
Marks
Obtained
1
Practical
Implementation
0 1 2,3 4,5 6
Absent
With several
critical errors
and
incomplete
With few
errors, and
incomplete
With some
errors and
complete
Without
errors and
complete
(b) AFFECTIVE (To be judged on the copy of experiment submitted)
Sr.
No.
Criteria
Level 1
(0%)
Level 2
(25%)
Level 3
(50%)
Level 4
(75%)
Level 5
(100%)
Marks
Obtained
2
Level of
Participation &
Attitude to Achieve
Individual/Group
Goals
0 1 2 3 4
Absent Bad Attitude
Decent
Attitude
Good
Attitude
Proactive
Attitude
3 Total Marks Obtained (Out of 10):
Object Oriented Programming Lab 2
4
Q1. Make a student class.
 It has two attributes
o name as a character array of size 50
o gpa as a double data type.
 Make no argument constructor to set
o name equal to "" (hint: use strcpy function)
o gpa equal to zero
 Make two arguments constructor to set
o name equal to First Argument
o gpa equal to Second Argument
 Make void get() functions to get name with spaces and gpa from
user.
 Make void show() function to display name and gpa on screen.
 Make three student objects in main() and call two arguments
constructer while creating first object and call no-argument
constructer for other two objects.
 Call these functions to check their working.
This should be the output of program
Q2. Make a Temperature class.
 It has one attributes c to represent temperature degree
centigrade, of double data type.
 Make no argument constructor to set c equal to zero
Your Name is “Rashid Farid” and Your GPA = 2.59
Enter Name: M. Usman
Enter GPA : 3.5
Your Name is “M. Usman” and Your GPA = 3.5
Enter Name: M. Ali
Enter GPA : 4.0
Your Name is “M. Ali” and Your GPA = 4.0
Press any key to continue . . .
Object Oriented Programming Lab 2
5
 Make void get_c() functions to get temperature value in Degree
centigrade from user.
 Make void get_f() functions to get temperature value in Degree
Fahrenheit from user.
 Make void show_c() function to display temperature in Degree
Centigrade on screen.
 Make void show_f() function to display temperature in Degree
Fahrenheit on screen.
Note: ctemp = (ftemp-32) * 5.0 / 9.0;
This should be the output of program
Enter Temperature in Degree Centigrade: 37
37 C = 98.6 F
Enter Temperature in Degree Fahrenheit: 98.5
98.5 F = 36.9444 C
Object Oriented Programming Lab 2
6
Solution Lab 2 Task 1:
Object Oriented Programming Lab 2
7
Solution Lab 2 Task 2:
Object Oriented Programming Lab 3
8
International Islamic University Islamabad
Faculty of Engineering and Technology
Department of Electrical and Computer Engineering
Object Oriented Programming Lab (CS101L)
Lab 3 : Destructors
Name:
Reg. No:
Date of
Experiment:
OBE Rubrics Evaluation
a) PSYCHOMOTOR (To be judged in the field/lab during experiment)
Sr.
No.
Criteria
Level 1
(0%)
Level 2
(25%)
Level 3
(50%)
Level 4
(75%)
Level 5
(100%)
Marks
Obtained
1
Practical
Implementation
0 1 2,3 4,5 6
1
Absent
With several
critical errors
and
incomplete
With few
errors, and
incomplete
With some
errors and
complete
Without
errors and
complete
(b) AFFECTIVE (To be judged on the copy of experiment submitted)
Sr.
No.
Criteria
Level 1
(0%)
Level 2
(25%)
Level 3
(50%)
Level 4
(75%)
Level 5
(100%)
Marks
Obtained
2
Level of
Participation &
Attitude to Achieve
Individual/Group
Goals
0 1 2 3 4
Absent Bad Attitude
Decent
Attitude
Good
Attitude
Proactive
Attitude
3 Total Marks Obtained (Out of 10):
Object Oriented Programming Lab 3
9
Q1. Make a Tree class.
 It has one attributes
o height as unsigned int
 Make No Argument Constructor to set height equals to the zero.
Also print this message “A tree of zero length has been created”.
 Make One Argument Constructor to set height equals to the
argument value. Also print this message “A tree has been
created”.
 Make a destructor and print “The tree has been destroyed” message
inside it.
 Make void grow(int meters) function to add argument value to the
tree height value.
 Make void printsize() function to print tree height on screen.
 Make void Create_Tree() function outside the class.
 Make One tree object in Create_Tree() function and call members
functions inside it.
 Call Create_Tree() function two times inside main().
The output of program should be like this.
Q2. Make an Employee class.
 It has two attributes
o id as unsigned int.
o length as unsigned int.
o name as a character pointer.
 Make no argument constructor to set
o ID equals to 1
o length equals to 100
A tree has been created
Tree height is 16 Meters
The Tree has been destroyed
A tree has been created
Tree height is 16 Meters
The Tree has been destroyed
Press any key to continue . . .
Object Oriented Programming Lab 3
10
o dynamically allocate length+1 = 101 bytes of memory to name
pointer
 Make two arguments constructor to set
o ID equals to first argument
o length equals to string length of 2nd argument
o name equals to the copy of second argument dynamically .
 Make a destructor and free the dynamic allocated memory.
 Make void get() functions to get ID and name with spaces from
user. (hint: use cin.get or cin.getline function)
o Empty input buffer using fflush(stdin) after using cin.get
 Make void show() function to display ID and name on screen.
 Make one Employee Object in main() using no argument constructor
and another Employee Object using two argument constructor.
 Call functions to check their working.
Following is the possible output of program.
ID = 1, Name = M. Usman
Enter Employee ID: 1
Enter Employee Name: Rashid Farid
ID = 1, Name = Rashid F
Enter Employee ID: 2
Enter Employee Name: Shahid Farid Chishti
ID = 2, Name = Shahid Farid Chishti
Press any key to continue . . .
Object Oriented Programming Lab 3
11
Solution Lab 3 Task 1:
Object Oriented Programming Lab 3
12
Solution Lab 3 Task 2:
Object Oriented Programming Lab 4
13
International Islamic University Islamabad
Faculty of Engineering and Technology
Department of Electrical and Computer Engineering
Object Oriented Programming Lab (CS101L)
Lab 4 : Passing Objects as Function Arguments.
Name:
Reg. No:
Date of
Experiment:
OBE Rubrics Evaluation
a) PSYCHOMOTOR (To be judged in the field/lab during experiment)
Sr.
No.
Criteria
Level 1
(0%)
Level 2
(25%)
Level 3
(50%)
Level 4
(75%)
Level 5
(100%)
Marks
Obtained
1
Practical
Implementation
0 1 2,3 4,5 6
1
Absent
With several
critical errors
and
incomplete
With few
errors, and
incomplete
With some
errors and
complete
Without
errors and
complete
(b) AFFECTIVE (To be judged on the copy of experiment submitted)
Sr.
No.
Criteria
Level 1
(0%)
Level 2
(25%)
Level 3
(50%)
Level 4
(75%)
Level 5
(100%)
Marks
Obtained
2
Level of
Participation &
Attitude to Achieve
Individual/Group
Goals
0 1 2 3 4
Absent Bad Attitude
Decent
Attitude
Good
Attitude
Proactive
Attitude
3 Total Marks Obtained (Out of 10):
Object Oriented Programming Lab 4
14
Q1. Make a Matrix class, which represents a 3x3 Matrix
 It has three attribute
o ary as a ThwoD array of double data type.
o rows as unsigned int.
o columns as unsigned int.
 Make no argument constructor to set
o All elements of ary equal to zero.
o Set rows and columns equal to 3.
 Make three arguments constructor that takes
o first argument as TwoD array of double data type
o 2nd argument as number of rows
o 3rd argument as number of columns
 Make void get() functions to get data for each element of array
ary.
 Make void show() function to display ary on screen.
 Make double mod() function to calculate and return mod value of
the matrix.
 Make void add( Matrix A, Matrix B) function to add two Matrix
Objects and copy the answer in the third object which has called
the add function. e.g. Obj3.add(Obj1 , Obj2);
OR
 you can make Matrix add(Matrix B) function to add two Matrix
Objects and return the answer as a Matrix object.
Similarly
 Make void Sub( Matrix A, Matrix B) to subtract two Matrix object
 Make void Mul( Matrix A, Matrix B) to Multiply two Mat object
 Remember to write functions declaration inside the class and
functions definition outside the class.
 Make three Matrix objects in main() and call these functions to
check their working.
Here is the output of program
Object Oriented Programming Lab 4
15
A[0][0]:1
A[0][1]:2
A[0][2]:3
A[1][0]:4
A[1][1]:5
A[1][2]:6
A[2][0]:7
A[2][1]:8
A[2][2]:9
9 8 7
6 5 4
3 2 1
*
1 2 3
4 5 6
7 8 9
=
90 114 138
54 69 84
18 24 30
Press any key to continue . . .
Object Oriented Programming Lab 4
16
Solution Lab 4 Task:
Object Oriented Programming Lab 4
17
Object Oriented Programming Lab 4
18
Object Oriented Programming Lab 5
19
International Islamic University Islamabad
Faculty of Engineering and Technology
Department of Electrical and Computer Engineering
Object Oriented Programming Lab (CS101L)
Lab 5 : Passing Objects by Reference.
Name:
Reg. No:
Date of
Experiment:
OBE Rubrics Evaluation
a) PSYCHOMOTOR (To be judged in the field/lab during experiment)
Sr.
No.
Criteria
Level 1
(0%)
Level 2
(25%)
Level 3
(50%)
Level 4
(75%)
Level 5
(100%)
Marks
Obtained
1
Practical
Implementation
0 1 2,3 4,5 6
1
Absent
With several
critical errors
and
incomplete
With few
errors, and
incomplete
With some
errors and
complete
Without
errors and
complete
(b) AFFECTIVE (To be judged on the copy of experiment submitted)
Sr.
No.
Criteria
Level 1
(0%)
Level 2
(25%)
Level 3
(50%)
Level 4
(75%)
Level 5
(100%)
Marks
Obtained
2
Level of
Participation &
Attitude to Achieve
Individual/Group
Goals
0 1 2 3 4
Absent Bad Attitude
Decent
Attitude
Good
Attitude
Proactive
Attitude
3 Total Marks Obtained (Out of 10):
Object Oriented Programming Lab 5
20
Q1. Make a Vector class that represents a 3D vector
 It has three attribute
o i, j and k as double data type.
 Make no argument constructor to set
o All attributes equal to zero.
 Make three arguments constructor that takes
o First argument and saves it into i.
o Second argument and saves it into j.
o Third argument and saves it into k.
 Make void Get() functions to get data for attributes of this
class.
 Make void Show() function to display these attributes on screen.
Like this: < 3, 4, -6 >
 Make double Mod() function to calculate and return length of a
vector.
|𝑨| = √𝑨𝒊
𝟐
+ 𝑨𝒋
𝟐
+ 𝑨𝒌
𝟐
 Make double Dot(const Vector& B) const function to calculate
and return dot product of two vectors.
|𝑨 ∙ 𝑩| = 𝑨𝒊𝑩𝒊 + 𝑨𝒋𝑩𝒋 + 𝑨𝒌𝑩𝒌
 Make Vector Cross( const Vector& B) const function to
calculate and return cross product of two vectors. This
function will be called in main() like this:
C = A.Cross(Vector B);
|𝑨 × 𝑩| = |
𝒊 𝒋 𝒌
𝑨𝒊 𝑨𝒋 𝑨𝒌
𝑩𝒊 𝑩𝒋 𝑩𝒌
|
Object Oriented Programming Lab 5
21
Similarly
 Make Vector Sub( const Vector& B) const to subtract two Vector
objects
 Make Vector Add( const Vector& B) const to add two Vector
objects
 Remember to write functions declaration inside the class and
functions definition outside the class.
 Also make three separate files Vector.h, Vector.cpp and
main.cpp
 Make three Vector objects in main() and call these functions
to check their working.
o In the main function take inputs for two vectors from
user.
o Ask the user what type of operation he/she wants to
perform.
o Apply that operation and show the answer on screen.
Here is the output of program
Enter Vector A:
Enter Coefficient of <i>:1
Enter Coefficient of <j>:2
Enter Coefficient of <k>:3
Enter Vector B:
Enter Coefficient of <i>:4
Enter Coefficient of <j>:5
Enter Coefficient of <k>:6
Enter Vector Operation:
[1] - Magnitude of A Vector.
[2] - Dot Product.
[3] - Cross Product.
[4] - A - B
[5] - A + B
[q] - Quit this Program
3
< 1, 2, 3 > Cross < 4, 5, 6 > = < -3, 6, -3 >
Press any key to continue . . .
Object Oriented Programming Lab 5
22
Solution Lab 5 Task:
Object Oriented Programming Lab 5
23
Object Oriented Programming Lab 5
24
Object Oriented Programming Lab 6
25
International Islamic University Islamabad
Faculty of Engineering and Technology
Department of Electrical and Computer Engineering
Object Oriented Programming Lab (CS101L)
Lab 6 : Unary Operator Overloading
Name:
Reg. No:
Date of
Experiment:
OBE Rubrics Evaluation
a) PSYCHOMOTOR (To be judged in the field/lab during experiment)
Sr.
No.
Criteria
Level 1
(0%)
Level 2
(25%)
Level 3
(50%)
Level 4
(75%)
Level 5
(100%)
Marks
Obtained
1
Practical
Implementation
0 1 2,3 4,5 6
1
Absent
With several
critical errors
and
incomplete
With few
errors, and
incomplete
With some
errors and
complete
Without
errors and
complete
(b) AFFECTIVE (To be judged on the copy of experiment submitted)
Sr.
No.
Criteria
Level 1
(0%)
Level 2
(25%)
Level 3
(50%)
Level 4
(75%)
Level 5
(100%)
Marks
Obtained
2
Level of
Participation &
Attitude to Achieve
Individual/Group
Goals
0 1 2 3 4
Absent Bad Attitude
Decent
Attitude
Good
Attitude
Proactive
Attitude
3 Total Marks Obtained (Out of 10):
Object Oriented Programming Lab 6
26
Q1. Create a class called Time that represents a time in 24 hours
format.
 It has three attribute
o sec, min and hrs as integer data type.
 Make no argument constructor to set initial time equals to
00:00:00 as hh : mm : ss
 Make three argument constructor to set initial time equals to
the argument values.
o First argument changes hrs.
o Second argument changes min.
o Third argument chnges sec.
 Make void set(int h,int m,int s) function to set hrs, min, sec.
 Make void show() function to display time in 23:59:59 format.
 Make void get() function to get values of hrs, min and sec from
user.
 Make void tick() member function that increments the time stored
in a Time object by one second.
 Make Time Operator ++() member function that increments the time
stored in a Time object by one second in a prefix way.
 Make Time Operator ++(int) member function that increments the
time stored in a Time object by one second in a postfix way.
 Make Time Operator --() member function that decrements the time
stored in a Time object by one second in a prefix way.
 Make Time Operator --(int) member function that decrements the
time stored in a Time object by one second in a postfix way.
o While incrementing or decrementing time make sure to
implement the following cases:
 Incrementing into the next minute.
 Incrementing into the next hour.
 Incrementing into the next day (i.e., 23:59:59 to
00:00:00).
 In the main function.
Object Oriented Programming Lab 6
27
o Make a time object in a main function.
o Get the initial time value from user.
o Make an infinite loop
o Call tick() and show() functions in that loop for time
object after each second.
 You can use windows.h header file and Sleep(1000) function to
get delay of 1 second.
Here is the output of program
Enter Hours :23
Enter mmutes:59
Enter ssonds:55
23:59:56
23:59:57
23:59:58
23:59:59
00:00:00
00:00:01
00:00:02
00:00:03
00:00:04
00:00:05
00:00:06
00:00:07
00:00:08
00:00:09
00:00:10
00:00:11
Object Oriented Programming Lab 6
28
Solution Lab 6 Task:
Object Oriented Programming Lab 6
29
Object Oriented Programming Lab 6
30
Object Oriented Programming Lab 7
31
International Islamic University Islamabad
Faculty of Engineering and Technology
Department of Electrical and Computer Engineering
Object Oriented Programming Lab (CS101L)
Lab 7 : Binary Operator Overloading
Name:
Reg. No:
Date of
Experiment:
OBE Rubrics Evaluation
a) PSYCHOMOTOR (To be judged in the field/lab during experiment)
Sr.
No.
Criteria
Level 1
(0%)
Level 2
(25%)
Level 3
(50%)
Level 4
(75%)
Level 5
(100%)
Marks
Obtained
1
Practical
Implementation
0 1 2,3 4,5 6
1
Absent
With several
critical errors
and
incomplete
With few
errors, and
incomplete
With some
errors and
complete
Without
errors and
complete
(b) AFFECTIVE (To be judged on the copy of experiment submitted)
Sr.
No.
Criteria
Level 1
(0%)
Level 2
(25%)
Level 3
(50%)
Level 4
(75%)
Level 5
(100%)
Marks
Obtained
2
Level of
Participation &
Attitude to Achieve
Individual/Group
Goals
0 1 2 3 4
Absent Bad Attitude
Decent
Attitude
Good
Attitude
Proactive
Attitude
3 Total Marks Obtained (Out of 10):
Object Oriented Programming Lab 7
32
Q1. Create a class called Rational that represents a rational number.
 It has two attribute
o P, and Q as integer data type.
 Make no argument constructor to set initial value equals to 1.
 Make two argument constructor to set initial value equal to the
argument value.
o First argument changes P.
o Second argument changes Q.
 Make void Set(int p, int q) function to set P and Q.
 Make void Get() function to get values of P and Q from user.
 Make void Show() function to display number in P / Q format.
 Make int GCD() function to calculate and return GCD of P and Q.
 Make void Reduce() member function that stores P and Q in reduced
form. For example, the fraction 2/4 would be stored in the object
as 1 in the numerator and 2 in the denominator. So to get P and
Q in reduced form, divide both P and Q with their GCD.
 Make double Return_Double() member function that divides p by q
and returns the answer as double data type.
 Make Rational Operator + (Rational B) member function that adds
two rational numbers.
 Make Rational Operator - (Rational B) member function that
subtracts two rational numbers.
 Make Rational Operator * (Rational B) member function that
multiplies two rational numbers in reduced form.
 Make Rational Operator / (Rational B) member function that
divides two rational numbers in reduced form.
o While Performing Arithmetic Operations (+, -, * and /) on
two rational numbers, make sure to return the final answer
in reduced form.
 Make three rational object in a main function and call these
operators to check their functionality.
Object Oriented Programming Lab 7
33
Here is the output of program
Enter 1st Rational Number:
Enter P : 45
Enter Q : 20
Enter 2nd Rational Number:
Enter P : 21
Enter Q : 70
9/4 + 3/10 = 51/20
9/4 - 3/10 = 39/20
9/4 * 3/10 = 27/40
9/4 / 3/10 = 15/2
Press any key to continue . . .
Object Oriented Programming Lab 7
34
Solution Lab 7 Task:
Object Oriented Programming Lab 7
35
Object Oriented Programming Lab 7
36
Object Oriented Programming Lab 8
37
International Islamic University Islamabad
Faculty of Engineering and Technology
Department of Electrical and Computer Engineering
Object Oriented Programming Lab (CS101L)
Lab 8 : Inheritance
Name:
Reg. No:
Date of
Experiment:
OBE Rubrics Evaluation
a) PSYCHOMOTOR (To be judged in the field/lab during experiment)
Sr.
No.
Criteria
Level 1
(0%)
Level 2
(25%)
Level 3
(50%)
Level 4
(75%)
Level 5
(100%)
Marks
Obtained
1
Practical
Implementation
0 1 2,3 4,5 6
1
Absent
With several
critical errors
and
incomplete
With few
errors, and
incomplete
With some
errors and
complete
Without
errors and
complete
(b) AFFECTIVE (To be judged on the copy of experiment submitted)
Sr.
No.
Criteria
Level 1
(0%)
Level 2
(25%)
Level 3
(50%)
Level 4
(75%)
Level 5
(100%)
Marks
Obtained
2
Level of
Participation &
Attitude to Achieve
Individual/Group
Goals
0 1 2 3 4
Absent Bad Attitude
Decent
Attitude
Good
Attitude
Proactive
Attitude
3 Total Marks Obtained (Out of 10):
Object Oriented Programming Lab 8
38
Figure: UML Diagram of inheritance
Q1A. Create a class named Person.
 It has two attribute as private
o name as character array of size 50.
o age as int.
 Make no argument constructor to set name equals to empty string
and age equals to zero.
 Make two argument constructor
o The first argument changes the value of name.
o The second argument changes the value of age.
 Make void Get_Data() function to get name and age from user.
 Make void Show_Data() function show the value of name and age on
screen.
Q1B. Create another class named Student that is publically inherited
from Person class.
 It has two attribute as private
o Degree as character array of size 50;
o gpa as double data type.
 Make no argument constructor to set degree equals to empty string
and gpa equals to 0.
o Also call the no argument constructor of parent class.
 Make four argument constructor.
o The first argument changes the value of name.
Person
char name[50]
int age
Person()
Person(char _name[], int _age)
void Get_Data()
void Show_Date()
Student
char degree[50]
double gpa
Person()
Person(char name[], int age, char
degree[], double gpa)
void Get_Data()
void Show_Data()
Object Oriented Programming Lab 8
39
o The second argument changes the value of age.
o The third argument changes the value of degree.
o The fourth argument changes the value of gpa.
o To change name and age, call two argument constructor of
parent class.
 Make void Get_Data() function to get value of name, age, degree
and gpa from user.
o Also call Get_Data() function of parent class from child
class.
 Make void Show_Data() function to show value of name, age,
degree and gpa on screen.
o Also call Show_Data() function of parent class from child
class.
Q1C. Make main() function
 Make a student object. Get and then show his/her information on
screen.
Here is the output of program
Enter Student's Information
Name: Rashid Farid Chishti
Age : 42
Degree Program: BS in Computer Engineering
GPA : 3.59
[You typed Following Information]
Name : Rashid Farid Chishti
Age : 42
Degree Program: BS in Computer Engineering
GPA : 3.59
Press any key to continue . . .
Object Oriented Programming Lab 8
40
Solution Lab 8 Task:
Object Oriented Programming Lab 8
41
Object Oriented Programming Lab 9
42
International Islamic University Islamabad
Faculty of Engineering and Technology
Department of Electrical and Computer Engineering
Object Oriented Programming Lab (CS101L)
Lab 9 : Using Inheritance in Date and DoB
Name:
Reg. No:
Date of
Experiment:
OBE Rubrics Evaluation
a) PSYCHOMOTOR (To be judged in the field/lab during experiment)
Sr.
No.
Criteria
Level 1
(0%)
Level 2
(25%)
Level 3
(50%)
Level 4
(75%)
Level 5
(100%)
Marks
Obtained
1
Practical
Implementation
0 1 2,3 4,5 6
1
Absent
With several
critical errors
and
incomplete
With few
errors, and
incomplete
With some
errors and
complete
Without
errors and
complete
(b) AFFECTIVE (To be judged on the copy of experiment submitted)
Sr.
No.
Criteria
Level 1
(0%)
Level 2
(25%)
Level 3
(50%)
Level 4
(75%)
Level 5
(100%)
Marks
Obtained
2
Algorithm Design
or Data Record,
Analysis and
Evaluation
0 1 2 3 4
Absent Bad Attitude
Decent
Attitude
Good
Attitude
Proactive
Attitude
3 Total Marks Obtained (Out of 10):
Object Oriented Programming Lab 9
43
Q1A. Create a class named Date.
 It has three public attributes:
o yy as integer
o mm as integer
o dd as integer
 Make no argument constructor to set
yy, mm and dd equals to current date.
 Make three arguments constructor.
 Make a void Get_Date() function to
get data from user and this is a
sample output of a function:
o Enter Year [2014]: 2023
o Enter Month[1-12]: 11
o Enter Day [1-31]: 6
 Make void Show_Date() function to
show date like this format
Current Date = November 6, 2023
 For this purpose, make an array of
month names at the top of code.
Q1B. Create another class named Date_of_Birth that is publically
inherited from Date class.
 Make no argument and three arguments constructors.
 Make a void Get_DoB() function that gets user’s Date of birth
like this:
Enter Year [2014]: 1998
Enter Month[1-12]: 12
Enter Day [1-31]: 25
 Make a void Show_DoB() function that shows user Date of Birth
like this format.
Date of Birth = December 25, 1998
Date
int yy
int mm
int dd
Date()
Date(int y,int m, int d)
void Get_Date()
void Show_Date()
DoB
DoB()
DoB(int y,int m, int d)
Get_DoB()
Show_Age()
Object Oriented Programming Lab 9
44
 Make a void Show_Age() function that calculates and then shows
user age based on current date and date of birth, like this
format.
Age = 24 years and 11 months.
o While subtracting months, take one borrow from year if needed.
Q1C. Make main() function
 Make an Object of Date class and show current Date on screen.
 Make an Object of Date_of_Birth class. Get user’s date of birth
and show his/her age on screen..
This is a possible output of the program
Current Date = November 6, 2023
Please Enter Your Date of Birth
Enter Year [2014]: 1998
Enter Month[1-12]: 12
Enter Day [1-31]: 25
Date of Birth = December 25, 1998
Age = 24 years, 11 months
Press any key to continue . . .
Object Oriented Programming Lab 9
45
Solution Lab 9 Task:
Object Oriented Programming Lab 9
46
Object Oriented Programming Lab 10
47
International Islamic University Islamabad
Faculty of Engineering and Technology
Department of Electrical and Computer Engineering
Object Oriented Programming Lab (CS101L)
Lab 10 : Multiple Inheritance
Name:
Reg. No:
Date of
Experiment:
OBE Rubrics Evaluation
a) PSYCHOMOTOR (To be judged in the field/lab during experiment)
Sr.
No.
Criteria
Level 1
(0%)
Level 2
(25%)
Level 3
(50%)
Level 4
(75%)
Level 5
(100%)
Marks
Obtained
1
Practical
Implementation
0 1 2,3 4,5 6
1
Absent
With several
critical errors
and
incomplete
With few
errors, and
incomplete
With some
errors and
complete
Without
errors and
complete
(b) AFFECTIVE (To be judged on the copy of experiment submitted)
Sr.
No.
Criteria
Level 1
(0%)
Level 2
(25%)
Level 3
(50%)
Level 4
(75%)
Level 5
(100%)
Marks
Obtained
2
Algorithm Design
or Data Record,
Analysis and
Evaluation
0 1 2 3 4
Absent Bad Attitude
Decent
Attitude
Good
Attitude
Proactive
Attitude
3 Total Marks Obtained (Out of 10):
Object Oriented Programming Lab 10
48
Figure: UML Diagram of Multiple Inheritance
Q1A. Create a class Electric_Car
 It has an attribute Battery_Level (type int) for a value from
0 to 100 %
 Make Recharge() function that adds a number 1 to the
Battery_Level.
 Make Show_Bat() function that shows current Battery_Level on
screen.
Q1B. Create a class Petrol_Car
 It has an attribute Fuel_Level (type double) for a value from
0 to 50 Liter
 Make Fill_Up() function that adds a number 0.5 to the
FuelLevel.
 Make Show_Fuel() function that shows current Fuel_Level on
screen.
Petrol_Car
double Fuel_Level
Fill_Up()
Show_Fuel()
Hybrid_Car
char Running_Mode
Switch_Mode(char mode)
Run()
Electric_Car
int Battery_Level
void Recharge()
Show_Bat()
Object Oriented Programming Lab 10
49
Q1C. Create a class Hybrid_Car
 It has an attribute Running_Mode (type chr).
o If Running_Mode is b then car is on Battery mode.
o If Running_Mode is f then car is on Fuel mode.
 Make Switch_Mode(char mode) function that changes the
RunninMode to b or f based on function arguments.
 Make Run() function that
o subtracts 1 from Battery_Level if car is on Battery mode
o subtracts 0.5 from Fuel_Level if car is on Fuel mode.
Q1D. Make an Object of Hybrid_Car in main() function and show the
simulation results on screen.
 Generate random numbers from 0 to 5
o If number equals to 0, call Fill_Up()
o If number equals to 1, call Recharge()
o If number equals to 2, call Switch_Mode('b')
o If number equals to 3, call Switch_Mode('f')
o If number equals to 4, call Run()
o If number equals to 5, call Run()
This is the output format of Simulation
Battery Level = 18 %
Fuel Level = 2.0 Liter
Object Oriented Programming Lab 10
50
Solution Lab Task:
Object Oriented Programming Lab 10
51
Object Oriented Programming Lab 11
52
International Islamic University Islamabad
Faculty of Engineering and Technology
Department of Electrical and Computer Engineering
Object Oriented Programming Lab (CS101L)
Lab 11 : Virtual Functions
Name:
Reg. No:
Date of
Experiment:
OBE Rubrics Evaluation
a) PSYCHOMOTOR (To be judged in the field/lab during experiment)
Sr.
No.
Criteria
Level 1
(0%)
Level 2
(25%)
Level 3
(50%)
Level 4
(75%)
Level 5
(100%)
Marks
Obtained
1
Practical
Implementation
0 1.5 3 4.5 6
Absent
With several
critical errors
and
incomplete
With few
errors, and
incomplete
With some
errors and
complete
Without
errors and
complete
(b) AFFECTIVE (To be judged on the copy of experiment submitted)
Sr.
No.
Criteria
Level 1
(0%)
Level 2
(25%)
Level 3
(50%)
Level 4
(75%)
Level 5
(100%)
Marks
Obtained
2
Level of
Participation &
Attitude to Achieve
Individual/Group
Goals
0 1 2 3 4
Absent Bad Attitude
Decent
Attitude
Good
Attitude
Proactive
Attitude
3 Total Marks Obtained (Out of 10):
Object Oriented Programming Lab 11
53
Figure: UML Diagram of Virtual Functions
 Create a class Shape that has three pure virtual
functions as shown in the UML Diagram above.
 From this class derive three classes named Circle,
Rectangle and Triangle.
o Each of these three classes should have a
get_data() function to get its data from the user
using keyboard, a show_data() function to display
its data and an area() function to calculate and
return area of that class.
 Write a main() program that creates an array of 100
pointers to Shape.
o
o
o Aske User: How many Shapes you want to enter?
Shape
virtual void get_data() = 0;
virtual void show_data() = 0;
virtual double area() = 0;
Circle
double r;
Circle()
void get_data()
void show_data()
double area()
Rectangle
double l, w;
Rectangle()
void get_data()
void show_data()
double area()
Tringle
double b, h;
Triangle()
void get_data()
void show_data()
double area()
Object Oriented Programming Lab 11
54
o In a loop, ask the user which object he wants to
enter (c = circle, r = rectange, t = triange: c)
o Using new operator create an object of user choice
to hold data and put the pointer to that object in
the array.
o When the user has finished entering the data for
all objects, display the resulting data and the
area of that object using a for loop and a single
statement such as
All_Shapes[j]-> show_data();
This is the output of Program on screen.
How many Shapes you want to enter? 4
[Options] c = circle, r = rectange, t = triange: a
[Options] c = circle, r = rectange, t = triange: c
Enter Radius: 1
[Options] c = circle, r = rectange, t = triange: t
Enter Base : 2
Enter Height : 3
[Options] c = circle, r = rectange, t = triange: r
Enter Length: 4
Enter Width : 5
[Options] c = circle, r = rectange, t = triange: c
Enter Radius: 6
[0]->[Circle ] Radius = 1 , Area = 3.1416
[1]->[Triangle ] Base = 2 , Height = 3 , Area = 3
[2]->[Rectangle] Length = 4 , Width = 5 , Area = 20
[3]->[Circle ] Radius = 6 , Area = 113.098
Press any key to continue . . .
Object Oriented Programming Lab 11
55
Solution Lab Task:
Object Oriented Programming Lab 11
56
Object Oriented Programming Lab 11
57
Object Oriented Programming Lab 12
58
International Islamic University Islamabad
Faculty of Engineering and Technology
Department of Electrical and Computer Engineering
Object Oriented Programming Lab (CS101L)
Lab 12 : Friend Functions
Name:
Reg. No:
Date of
Experiment:
OBE Rubrics Evaluation
a) PSYCHOMOTOR (To be judged in the field/lab during experiment)
Sr.
No.
Criteria
Level 1
(0%)
Level 2
(25%)
Level 3
(50%)
Level 4
(75%)
Level 5
(100%)
Marks
Obtained
1
Practical
Implementation
0 1 2,3 4,5 6
1
Absent
With several
critical errors
and
incomplete
With few
errors, and
incomplete
With some
errors and
complete
Without
errors and
complete
(b) AFFECTIVE (To be judged on the copy of experiment submitted)
Sr.
No.
Criteria
Level 1
(0%)
Level 2
(25%)
Level 3
(50%)
Level 4
(75%)
Level 5
(100%)
Marks
Obtained
2
Level of
Participation &
Attitude to Achieve
Individual/Group
Goals
0 1 2 3 4
Absent Bad Attitude
Decent
Attitude
Good
Attitude
Proactive
Attitude
3 Total Marks Obtained (Out of 10):
Object Oriented Programming Lab 12
59
 Create a class Length that has two attributes
o Feet as integer data type
o Inches as float data type
 Make a no argument constructor to set Feet and Inches
equals to zero.
 Make a one argument constructor that takes length in
the form of float feet and then it separates feet and
inches and stores them in the Feet and Inches
attributes. For example, if input argument is 2.5 then
the value of Feet will be 2 and the value of Inches
will be 6.0.
 Make a two argument constructor that takes feet in first
argument and inches in the second argument and stores
them in the respective attributes.
 Make a Show() member function to show length in the
form 2'-6.0" where 2 is the value of Feet and 6.0 is
the value of Inches.
 Declare a * operator as friend in the Length class and
this Operator takes two Length objects as arguments.
 Define * operator outside the class to Multiply two
Length Objects.
 Hint:
o Fist convert two length objects into float feet.
o Multiply two float feet numbers.
o Convert the answer back to Feet and Inches using
one argument constructor that you have already
defined.
o Return the answer in the form of Length object.
Object Oriented Programming Lab 12
60
o For example,
 I have two lengths 2'-6.0" and 3'-3.0".
 Converting them to float feet I have 2.5 float
feet and 3.25 float feet.
 Now multiply both and I got 2.5 * 3.25 = 8.125
float feet.
 Converting 8.125 float feet to feet and
inches. I got 8 feet and 0.125*12 = 1.5
inches.
 Make int main() function to test friend operator *.
Object Oriented Programming Lab 12
61
Solution Lab Task:
Object Oriented Programming Lab 13
62
International Islamic University Islamabad
Faculty of Engineering and Technology
Department of Electrical and Computer Engineering
Object Oriented Programming Lab (CS101L)
Lab 13 : Static Functions
Name:
Reg. No:
Date of
Experiment:
OBE Rubrics Evaluation
a) PSYCHOMOTOR (To be judged in the field/lab during experiment)
Sr.
No.
Criteria
Level 1
(0%)
Level 2
(25%)
Level 3
(50%)
Level 4
(75%)
Level 5
(100%)
Marks
Obtained
1
Practical
Implementation
0 1 2,3 4,5 6
1
Absent
With several
critical errors
and
incomplete
With few
errors, and
incomplete
With some
errors and
complete
Without
errors and
complete
(b) AFFECTIVE (To be judged on the copy of experiment submitted)
Sr.
No.
Criteria
Level 1
(0%)
Level 2
(25%)
Level 3
(50%)
Level 4
(75%)
Level 5
(100%)
Marks
Obtained
2
Level of
Participation &
Attitude to Achieve
Individual/Group
Goals
0 1 2 3 4
Absent Bad Attitude
Decent
Attitude
Good
Attitude
Proactive
Attitude
3 Total Marks Obtained (Out of 10):
Object Oriented Programming Lab 13
63
Make an Employee class.
 It has two attributes
o id as unsigned int
o name as a character array of size 100.
o total as static integer to show total number of employees
o Set the initial value of total equals to 0.
 Make no argument constructor
o Increment total.
o Set id equals to total and name equals to empty sting.
 Make a destructor and decrement total inside the destructor.
Also, show id and name of the Employee object that is being
destroyed.
 Make void get_data() functions to get name with spaces from user.
Hint: use cin.getline(array_name, size).
 Make void show_data() function to display id and name on screen.
 Make static void show_total() to show total number of employees.
 Make main() function
o Call show_total() using class name.
o Make an Employee Object by name and get data from user
using keyboard.
o Call show_total() using class name.
o Now Make an Employee Object Dynamically using Employee
pointer.
o Call show_total()
o Destroy the this employee object.
o Again call show_total() using class name.
Object Oriented Programming Lab 13
64
This is the output of Program on screen.
Total Employees are: 0
Enter Name: Rashid Farid
Your ID = 1 and Your Name = Rashid Farid
Total Employees are: 1
Enter Name: Muhammad Ibrahim
Your ID = 2 and Your Name = Muhammad Ibrahim
Destroying ID: 2 of Employee: Muhammad Ibrahim
Total Employees are: 1
Press any key to continue . . .
Object Oriented Programming Lab 13
65
Solution Lab Task:
Object Oriented Programming Lab 14
66
International Islamic University Islamabad
Faculty of Engineering and Technology
Department of Electrical and Computer Engineering
Object Oriented Programming Lab (CS101L)
Lab 14 : File Handling in C++
Name:
Reg. No:
Date of
Experiment:
OBE Rubrics Evaluation
a) PSYCHOMOTOR (To be judged in the field/lab during experiment)
Sr.
No.
Criteria
Level 1
(0%)
Level 2
(25%)
Level 3
(50%)
Level 4
(75%)
Level 5
(100%)
Marks
Obtained
1
Practical
Implementation
0 1 2,3 4,5 6
1
Absent
With several
critical errors
and
incomplete
With few
errors, and
incomplete
With some
errors and
complete
Without
errors and
complete
(b) AFFECTIVE (To be judged on the copy of experiment submitted)
Sr.
No.
Criteria
Level 1
(0%)
Level 2
(25%)
Level 3
(50%)
Level 4
(75%)
Level 5
(100%)
Marks
Obtained
2
Level of
Participation &
Attitude to Achieve
Individual/Group
Goals
0 1 2 3 4
Absent Bad Attitude
Decent
Attitude
Good
Attitude
Proactive
Attitude
3 Total Marks Obtained (Out of 10):
Object Oriented Programming Lab 14
67
Make an Employee class.
 It has two attributes
o Name as character array
o Salary as an integer.
 Make Add() function that takes Name and Salary and store in File
named “employees.xt”
 Make Show_All() function that shows Names of All Employees and
their Salary on screen by reading data from “employees.xt” file.
 Make Search() function that searches Name of Employee on screen
by reading data from “employees.xt” file.
 Note: Use Formatted File I/O. Inside “employees.xt” file one
line should contain data of one employee only.
Object Oriented Programming Lab 14
68
This is the output of program
[Operations]
A - Add
R - Read All
S - Search name
Q - Quit
a
Enter name : M. Ibrahim
Enter Salary : 50345
Press any key to continue . . .
[Operations]
A - Add
R - Read All
S - Search name
Q - Quit
a
Enter name : M. Bilal
Enter Salary : 67345
Press any key to continue . . .
[Operations]
A - Add
R - Read All
S - Search name
Q - Quit
r
#1
name = M. Ibrahim
salary = 50345
#2
name = M. Bilal
salary = 67345
[Operations]
A - Add
R - Read All
S - Search name
Q - Quit
s
Enter name to Search: lal
#2
name = M. Bilal
Salary = 67345
Object Oriented Programming Lab 14
69
Solution Lab Task:
Object Oriented Programming Lab 14
70

More Related Content

Similar to Object Oriented Programming OOP Lab Manual.docx

4CS4-25-Java-Lab-Manual.pdf
4CS4-25-Java-Lab-Manual.pdf4CS4-25-Java-Lab-Manual.pdf
4CS4-25-Java-Lab-Manual.pdfamitbhachne
 
Constructors and Destructors
Constructors and DestructorsConstructors and Destructors
Constructors and DestructorsKeyur Vadodariya
 
Getting Started - Console Program and Problem Solving
Getting Started - Console Program and Problem SolvingGetting Started - Console Program and Problem Solving
Getting Started - Console Program and Problem SolvingHock Leng PUAH
 
SPF Getting Started - Console Program
SPF Getting Started - Console ProgramSPF Getting Started - Console Program
SPF Getting Started - Console ProgramHock Leng PUAH
 
classes object fgfhdfgfdgfgfgfgfdoop.pptx
classes object  fgfhdfgfdgfgfgfgfdoop.pptxclasses object  fgfhdfgfdgfgfgfgfdoop.pptx
classes object fgfhdfgfdgfgfgfgfdoop.pptxarjun431527
 
Labsheet1 ec303 student
Labsheet1 ec303 studentLabsheet1 ec303 student
Labsheet1 ec303 studentfarah146
 
FP 301 OOP FINAL PAPER JUNE 2013
FP 301 OOP FINAL PAPER JUNE 2013FP 301 OOP FINAL PAPER JUNE 2013
FP 301 OOP FINAL PAPER JUNE 2013Syahriha Ruslan
 
Comp 220 ilab 7 of 7
Comp 220 ilab 7 of 7Comp 220 ilab 7 of 7
Comp 220 ilab 7 of 7ashhadiqbal
 
Programming with c language practical manual
Programming with c language practical manualProgramming with c language practical manual
Programming with c language practical manualAnil Bishnoi
 
Fy secondsemester2016
Fy secondsemester2016Fy secondsemester2016
Fy secondsemester2016Ankit Dubey
 
Fy secondsemester2016
Fy secondsemester2016Fy secondsemester2016
Fy secondsemester2016Ankit Dubey
 
Fy secondsemester2016
Fy secondsemester2016Fy secondsemester2016
Fy secondsemester2016Ankit Dubey
 
Lab manual object oriented technology (it 303 rgpv) (usefulsearch.org) (usef...
Lab manual object oriented technology (it 303 rgpv) (usefulsearch.org)  (usef...Lab manual object oriented technology (it 303 rgpv) (usefulsearch.org)  (usef...
Lab manual object oriented technology (it 303 rgpv) (usefulsearch.org) (usef...Make Mannan
 

Similar to Object Oriented Programming OOP Lab Manual.docx (20)

4CS4-25-Java-Lab-Manual.pdf
4CS4-25-Java-Lab-Manual.pdf4CS4-25-Java-Lab-Manual.pdf
4CS4-25-Java-Lab-Manual.pdf
 
Constructors and Destructors
Constructors and DestructorsConstructors and Destructors
Constructors and Destructors
 
Java Lab Manual
Java Lab ManualJava Lab Manual
Java Lab Manual
 
Python Manuel-R2021.pdf
Python Manuel-R2021.pdfPython Manuel-R2021.pdf
Python Manuel-R2021.pdf
 
Getting Started - Console Program and Problem Solving
Getting Started - Console Program and Problem SolvingGetting Started - Console Program and Problem Solving
Getting Started - Console Program and Problem Solving
 
SPF Getting Started - Console Program
SPF Getting Started - Console ProgramSPF Getting Started - Console Program
SPF Getting Started - Console Program
 
JavaProgrammingManual
JavaProgrammingManualJavaProgrammingManual
JavaProgrammingManual
 
classes object fgfhdfgfdgfgfgfgfdoop.pptx
classes object  fgfhdfgfdgfgfgfgfdoop.pptxclasses object  fgfhdfgfdgfgfgfgfdoop.pptx
classes object fgfhdfgfdgfgfgfgfdoop.pptx
 
Labsheet1 ec303 student
Labsheet1 ec303 studentLabsheet1 ec303 student
Labsheet1 ec303 student
 
FP 301 OOP FINAL PAPER JUNE 2013
FP 301 OOP FINAL PAPER JUNE 2013FP 301 OOP FINAL PAPER JUNE 2013
FP 301 OOP FINAL PAPER JUNE 2013
 
Comp 220 ilab 7 of 7
Comp 220 ilab 7 of 7Comp 220 ilab 7 of 7
Comp 220 ilab 7 of 7
 
17515
1751517515
17515
 
Ocs752 unit 4
Ocs752   unit 4Ocs752   unit 4
Ocs752 unit 4
 
C# p3
C# p3C# p3
C# p3
 
Programming with c language practical manual
Programming with c language practical manualProgramming with c language practical manual
Programming with c language practical manual
 
Fy secondsemester2016
Fy secondsemester2016Fy secondsemester2016
Fy secondsemester2016
 
Fy secondsemester2016
Fy secondsemester2016Fy secondsemester2016
Fy secondsemester2016
 
Fy secondsemester2016
Fy secondsemester2016Fy secondsemester2016
Fy secondsemester2016
 
Lab manual object oriented technology (it 303 rgpv) (usefulsearch.org) (usef...
Lab manual object oriented technology (it 303 rgpv) (usefulsearch.org)  (usef...Lab manual object oriented technology (it 303 rgpv) (usefulsearch.org)  (usef...
Lab manual object oriented technology (it 303 rgpv) (usefulsearch.org) (usef...
 
c++ lab manual
c++ lab manualc++ lab manual
c++ lab manual
 

More from RashidFaridChishti

Lab Manual Arduino UNO Microcontrollar.docx
Lab Manual Arduino UNO Microcontrollar.docxLab Manual Arduino UNO Microcontrollar.docx
Lab Manual Arduino UNO Microcontrollar.docxRashidFaridChishti
 
Lab Manual Data Structure and Algorithm.docx
Lab Manual Data Structure and Algorithm.docxLab Manual Data Structure and Algorithm.docx
Lab Manual Data Structure and Algorithm.docxRashidFaridChishti
 
Data Structures and Agorithm: DS 24 Hash Tables.pptx
Data Structures and Agorithm: DS 24 Hash Tables.pptxData Structures and Agorithm: DS 24 Hash Tables.pptx
Data Structures and Agorithm: DS 24 Hash Tables.pptxRashidFaridChishti
 
Data Structures and Agorithm: DS 22 Analysis of Algorithm.pptx
Data Structures and Agorithm: DS 22 Analysis of Algorithm.pptxData Structures and Agorithm: DS 22 Analysis of Algorithm.pptx
Data Structures and Agorithm: DS 22 Analysis of Algorithm.pptxRashidFaridChishti
 
Data Structures and Agorithm: DS 21 Graph Theory.pptx
Data Structures and Agorithm: DS 21 Graph Theory.pptxData Structures and Agorithm: DS 21 Graph Theory.pptx
Data Structures and Agorithm: DS 21 Graph Theory.pptxRashidFaridChishti
 
Data Structures and Agorithm: DS 20 Merge Sort.pptx
Data Structures and Agorithm: DS 20 Merge Sort.pptxData Structures and Agorithm: DS 20 Merge Sort.pptx
Data Structures and Agorithm: DS 20 Merge Sort.pptxRashidFaridChishti
 
Data Structures and Agorithm: DS 18 Heap.pptx
Data Structures and Agorithm: DS 18 Heap.pptxData Structures and Agorithm: DS 18 Heap.pptx
Data Structures and Agorithm: DS 18 Heap.pptxRashidFaridChishti
 
Data Structures and Agorithm: DS 17 AVL Tree.pptx
Data Structures and Agorithm: DS 17 AVL Tree.pptxData Structures and Agorithm: DS 17 AVL Tree.pptx
Data Structures and Agorithm: DS 17 AVL Tree.pptxRashidFaridChishti
 
Data Structures and Agorithm: DS 16 Huffman Coding.pptx
Data Structures and Agorithm: DS 16 Huffman Coding.pptxData Structures and Agorithm: DS 16 Huffman Coding.pptx
Data Structures and Agorithm: DS 16 Huffman Coding.pptxRashidFaridChishti
 
Data Structures and Agorithm: DS 15 Priority Queue.pptx
Data Structures and Agorithm: DS 15 Priority Queue.pptxData Structures and Agorithm: DS 15 Priority Queue.pptx
Data Structures and Agorithm: DS 15 Priority Queue.pptxRashidFaridChishti
 
Data Structures and Agorithm: DS 14 Binary Expression Tree.pptx
Data Structures and Agorithm: DS 14 Binary Expression Tree.pptxData Structures and Agorithm: DS 14 Binary Expression Tree.pptx
Data Structures and Agorithm: DS 14 Binary Expression Tree.pptxRashidFaridChishti
 
Data Structures and Agorithm: DS 10 Binary Search Tree.pptx
Data Structures and Agorithm: DS 10 Binary Search Tree.pptxData Structures and Agorithm: DS 10 Binary Search Tree.pptx
Data Structures and Agorithm: DS 10 Binary Search Tree.pptxRashidFaridChishti
 
Data Structures and Agorithm: DS 09 Queue.pptx
Data Structures and Agorithm: DS 09 Queue.pptxData Structures and Agorithm: DS 09 Queue.pptx
Data Structures and Agorithm: DS 09 Queue.pptxRashidFaridChishti
 
Data Structures and Agorithm: DS 08 Infix to Postfix.pptx
Data Structures and Agorithm: DS 08 Infix to Postfix.pptxData Structures and Agorithm: DS 08 Infix to Postfix.pptx
Data Structures and Agorithm: DS 08 Infix to Postfix.pptxRashidFaridChishti
 
Data Structures and Agorithm: DS 06 Stack.pptx
Data Structures and Agorithm: DS 06 Stack.pptxData Structures and Agorithm: DS 06 Stack.pptx
Data Structures and Agorithm: DS 06 Stack.pptxRashidFaridChishti
 
Data Structures and Agorithm: DS 05 Doubly Linked List.pptx
Data Structures and Agorithm: DS 05 Doubly Linked List.pptxData Structures and Agorithm: DS 05 Doubly Linked List.pptx
Data Structures and Agorithm: DS 05 Doubly Linked List.pptxRashidFaridChishti
 
Data Structures and Agorithm: DS 04 Linked List.pptx
Data Structures and Agorithm: DS 04 Linked List.pptxData Structures and Agorithm: DS 04 Linked List.pptx
Data Structures and Agorithm: DS 04 Linked List.pptxRashidFaridChishti
 
Data Structures and Agorithm: DS 02 Array List.pptx
Data Structures and Agorithm: DS 02 Array List.pptxData Structures and Agorithm: DS 02 Array List.pptx
Data Structures and Agorithm: DS 02 Array List.pptxRashidFaridChishti
 
Object Oriented Programming using C++: Ch12 Streams and Files.pptx
Object Oriented Programming using C++: Ch12 Streams and Files.pptxObject Oriented Programming using C++: Ch12 Streams and Files.pptx
Object Oriented Programming using C++: Ch12 Streams and Files.pptxRashidFaridChishti
 
Object Oriented Programming using C++: Ch11 Virtual Functions.pptx
Object Oriented Programming using C++: Ch11 Virtual Functions.pptxObject Oriented Programming using C++: Ch11 Virtual Functions.pptx
Object Oriented Programming using C++: Ch11 Virtual Functions.pptxRashidFaridChishti
 

More from RashidFaridChishti (20)

Lab Manual Arduino UNO Microcontrollar.docx
Lab Manual Arduino UNO Microcontrollar.docxLab Manual Arduino UNO Microcontrollar.docx
Lab Manual Arduino UNO Microcontrollar.docx
 
Lab Manual Data Structure and Algorithm.docx
Lab Manual Data Structure and Algorithm.docxLab Manual Data Structure and Algorithm.docx
Lab Manual Data Structure and Algorithm.docx
 
Data Structures and Agorithm: DS 24 Hash Tables.pptx
Data Structures and Agorithm: DS 24 Hash Tables.pptxData Structures and Agorithm: DS 24 Hash Tables.pptx
Data Structures and Agorithm: DS 24 Hash Tables.pptx
 
Data Structures and Agorithm: DS 22 Analysis of Algorithm.pptx
Data Structures and Agorithm: DS 22 Analysis of Algorithm.pptxData Structures and Agorithm: DS 22 Analysis of Algorithm.pptx
Data Structures and Agorithm: DS 22 Analysis of Algorithm.pptx
 
Data Structures and Agorithm: DS 21 Graph Theory.pptx
Data Structures and Agorithm: DS 21 Graph Theory.pptxData Structures and Agorithm: DS 21 Graph Theory.pptx
Data Structures and Agorithm: DS 21 Graph Theory.pptx
 
Data Structures and Agorithm: DS 20 Merge Sort.pptx
Data Structures and Agorithm: DS 20 Merge Sort.pptxData Structures and Agorithm: DS 20 Merge Sort.pptx
Data Structures and Agorithm: DS 20 Merge Sort.pptx
 
Data Structures and Agorithm: DS 18 Heap.pptx
Data Structures and Agorithm: DS 18 Heap.pptxData Structures and Agorithm: DS 18 Heap.pptx
Data Structures and Agorithm: DS 18 Heap.pptx
 
Data Structures and Agorithm: DS 17 AVL Tree.pptx
Data Structures and Agorithm: DS 17 AVL Tree.pptxData Structures and Agorithm: DS 17 AVL Tree.pptx
Data Structures and Agorithm: DS 17 AVL Tree.pptx
 
Data Structures and Agorithm: DS 16 Huffman Coding.pptx
Data Structures and Agorithm: DS 16 Huffman Coding.pptxData Structures and Agorithm: DS 16 Huffman Coding.pptx
Data Structures and Agorithm: DS 16 Huffman Coding.pptx
 
Data Structures and Agorithm: DS 15 Priority Queue.pptx
Data Structures and Agorithm: DS 15 Priority Queue.pptxData Structures and Agorithm: DS 15 Priority Queue.pptx
Data Structures and Agorithm: DS 15 Priority Queue.pptx
 
Data Structures and Agorithm: DS 14 Binary Expression Tree.pptx
Data Structures and Agorithm: DS 14 Binary Expression Tree.pptxData Structures and Agorithm: DS 14 Binary Expression Tree.pptx
Data Structures and Agorithm: DS 14 Binary Expression Tree.pptx
 
Data Structures and Agorithm: DS 10 Binary Search Tree.pptx
Data Structures and Agorithm: DS 10 Binary Search Tree.pptxData Structures and Agorithm: DS 10 Binary Search Tree.pptx
Data Structures and Agorithm: DS 10 Binary Search Tree.pptx
 
Data Structures and Agorithm: DS 09 Queue.pptx
Data Structures and Agorithm: DS 09 Queue.pptxData Structures and Agorithm: DS 09 Queue.pptx
Data Structures and Agorithm: DS 09 Queue.pptx
 
Data Structures and Agorithm: DS 08 Infix to Postfix.pptx
Data Structures and Agorithm: DS 08 Infix to Postfix.pptxData Structures and Agorithm: DS 08 Infix to Postfix.pptx
Data Structures and Agorithm: DS 08 Infix to Postfix.pptx
 
Data Structures and Agorithm: DS 06 Stack.pptx
Data Structures and Agorithm: DS 06 Stack.pptxData Structures and Agorithm: DS 06 Stack.pptx
Data Structures and Agorithm: DS 06 Stack.pptx
 
Data Structures and Agorithm: DS 05 Doubly Linked List.pptx
Data Structures and Agorithm: DS 05 Doubly Linked List.pptxData Structures and Agorithm: DS 05 Doubly Linked List.pptx
Data Structures and Agorithm: DS 05 Doubly Linked List.pptx
 
Data Structures and Agorithm: DS 04 Linked List.pptx
Data Structures and Agorithm: DS 04 Linked List.pptxData Structures and Agorithm: DS 04 Linked List.pptx
Data Structures and Agorithm: DS 04 Linked List.pptx
 
Data Structures and Agorithm: DS 02 Array List.pptx
Data Structures and Agorithm: DS 02 Array List.pptxData Structures and Agorithm: DS 02 Array List.pptx
Data Structures and Agorithm: DS 02 Array List.pptx
 
Object Oriented Programming using C++: Ch12 Streams and Files.pptx
Object Oriented Programming using C++: Ch12 Streams and Files.pptxObject Oriented Programming using C++: Ch12 Streams and Files.pptx
Object Oriented Programming using C++: Ch12 Streams and Files.pptx
 
Object Oriented Programming using C++: Ch11 Virtual Functions.pptx
Object Oriented Programming using C++: Ch11 Virtual Functions.pptxObject Oriented Programming using C++: Ch11 Virtual Functions.pptx
Object Oriented Programming using C++: Ch11 Virtual Functions.pptx
 

Recently uploaded

Laundry management system project report.pdf
Laundry management system project report.pdfLaundry management system project report.pdf
Laundry management system project report.pdfKamal Acharya
 
RS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
RS Khurmi Machine Design Clutch and Brake Exercise Numerical SolutionsRS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
RS Khurmi Machine Design Clutch and Brake Exercise Numerical SolutionsAtif Razi
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxViniHema
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdfKamal Acharya
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfPipe Restoration Solutions
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwoodseandesed
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdfKamal Acharya
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)MdTanvirMahtab2
 
Danfoss NeoCharge Technology -A Revolution in 2024.pdf
Danfoss NeoCharge Technology -A Revolution in 2024.pdfDanfoss NeoCharge Technology -A Revolution in 2024.pdf
Danfoss NeoCharge Technology -A Revolution in 2024.pdfNurvisNavarroSanchez
 
Cloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptx
Cloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptxCloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptx
Cloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptxMd. Shahidul Islam Prodhan
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234AafreenAbuthahir2
 
Hall booking system project report .pdf
Hall booking system project report  .pdfHall booking system project report  .pdf
Hall booking system project report .pdfKamal Acharya
 
ENERGY STORAGE DEVICES INTRODUCTION UNIT-I
ENERGY STORAGE DEVICES  INTRODUCTION UNIT-IENERGY STORAGE DEVICES  INTRODUCTION UNIT-I
ENERGY STORAGE DEVICES INTRODUCTION UNIT-IVigneshvaranMech
 
Automobile Management System Project Report.pdf
Automobile Management System Project Report.pdfAutomobile Management System Project Report.pdf
Automobile Management System Project Report.pdfKamal Acharya
 
fluid mechanics gate notes . gate all pyqs answer
fluid mechanics gate notes . gate all pyqs answerfluid mechanics gate notes . gate all pyqs answer
fluid mechanics gate notes . gate all pyqs answerapareshmondalnita
 
Democratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek AryaDemocratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek Aryaabh.arya
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdffxintegritypublishin
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxR&R Consult
 
Antenna efficency lecture course chapter 3.pdf
Antenna  efficency lecture course chapter 3.pdfAntenna  efficency lecture course chapter 3.pdf
Antenna efficency lecture course chapter 3.pdfAbrahamGadissa
 

Recently uploaded (20)

Laundry management system project report.pdf
Laundry management system project report.pdfLaundry management system project report.pdf
Laundry management system project report.pdf
 
RS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
RS Khurmi Machine Design Clutch and Brake Exercise Numerical SolutionsRS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
RS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
 
Danfoss NeoCharge Technology -A Revolution in 2024.pdf
Danfoss NeoCharge Technology -A Revolution in 2024.pdfDanfoss NeoCharge Technology -A Revolution in 2024.pdf
Danfoss NeoCharge Technology -A Revolution in 2024.pdf
 
Cloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptx
Cloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptxCloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptx
Cloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptx
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
 
Hall booking system project report .pdf
Hall booking system project report  .pdfHall booking system project report  .pdf
Hall booking system project report .pdf
 
ENERGY STORAGE DEVICES INTRODUCTION UNIT-I
ENERGY STORAGE DEVICES  INTRODUCTION UNIT-IENERGY STORAGE DEVICES  INTRODUCTION UNIT-I
ENERGY STORAGE DEVICES INTRODUCTION UNIT-I
 
Automobile Management System Project Report.pdf
Automobile Management System Project Report.pdfAutomobile Management System Project Report.pdf
Automobile Management System Project Report.pdf
 
fluid mechanics gate notes . gate all pyqs answer
fluid mechanics gate notes . gate all pyqs answerfluid mechanics gate notes . gate all pyqs answer
fluid mechanics gate notes . gate all pyqs answer
 
Democratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek AryaDemocratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek Arya
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
 
Antenna efficency lecture course chapter 3.pdf
Antenna  efficency lecture course chapter 3.pdfAntenna  efficency lecture course chapter 3.pdf
Antenna efficency lecture course chapter 3.pdf
 

Object Oriented Programming OOP Lab Manual.docx

  • 1. International Islamic University, Islamabad Faculty of Engineering & Technology Department of Electrical and Computer Engineering CS101L Object Oriented Programming Lab Manual Subject Teacher: Lab Instructor: Student Name Reg. No. Section Prepared by: Engr. Rashid Farid Chishti Lecturer, Department of Electrical and Computer Engineering. Faculty of Engineering and Technology. International Islamic University, Islamabad.
  • 2. International Islamic University, Islamabad Faculty of Engineering & Technology Department of Electrical and Computer Engineering CS101L Object Oriented Programming Lab Manual Names of Group Members Student Name Reg. No. Student Name Reg. No. Student Name Reg. No. Student Name Reg. No.
  • 3. CS101L Object Oriented Programming Lab Manual OBJECTIVE The objective of this lab is to make students learn about fundamental concepts of Object-Oriented Programming and its implementation in C++ language. The lab covers the concepts of classes, objects, attributes, operator overloading, inheritance, virtual functions, and friend functions. CLO CLO Description DOMAIN PLO 01 Develop small to moderate programs while exhibiting the object-oriented programming skills. C3 02 02 Build small software using OOP. P2 05 03 Participate effectively as an individual or in a team. A2 09 CLO: Course Learning Outcome. PLO: Program Learning Outcome.
  • 4. Object Oriented Programming Lab Rubrics Name: Reg. No.: Signature: Instructor: a) PSYCHOMOTOR (To be judged in the field/lab during experiment. check coding and take viva) Sr. No. Criteria Level 1 (0%) Level 2 (25%) Level 3 (50%) Level 4 (75%) Level 5 (100%) Lab Lab 1 Lab 2 Lab 3 Lab 4 Lab 5 Lab 6 Lab 7 Lab 8 Lab 9 Lab 10 Lab 11 Lab 12 Lab 13 Lab 14 1 Program Implementation 0 1 2,3 4,5 6 Weightage 6 6 6 6 6 6 6 6 6 6 6 6 6 6 Absent With several critical errors With few critical errors With some non-critical errors Without errors Obtained Sub Total Marks ( TP ) Obtained Marks ( OP ) (b) AFFECTIVE (To be judged in the field/lab during experiment, Check attitude) Sr. No. Criteria Level 1 (0%) Level 2 (25%) Level 3 (50%) Level 4 (75%) Level 5 (100%) Lab Lab 1 Lab 2 Lab 3 Lab 4 Lab 5 Lab 6 Lab 7 Lab 8 Lab 9 Lab 10 Lab 11 Lab 12 Lab 13 Lab 14 2 Level of Participation & Attitude to Achieve Individual/Group Goals 0 1 2 3 4 Weightage 4 4 4 4 4 4 4 4 4 4 4 4 4 4 Absent Bad Attitude Decent Attitude Good Attitude Proactive Attitude Obtained Sub Total Marks( TA ) Obtained Marks ( OA ) 3 Total Marks ( TP + TA ) : Obtained Marks ( OP + OA )
  • 5. LIST OF EXPERIMENTS LAB 1 : CLASSES AND OBJECTS 1 LAB 2 : CONSTRUCTORS 3 LAB 3 : DESTRUCTORS 8 LAB 4 : PASSING OBJECTS AS FUNCTION ARGUMENTS. 13 LAB 5 : PASSING OBJECTS BY REFERENCE. 19 LAB 6 : UNARY OPERATOR OVERLOADING 25 LAB 7 : BINARY OPERATOR OVERLOADING 31 LAB 8 : INHERITANCE 37 LAB 9 : USING INHERITANCE IN DATE AND DOB 42 LAB 10 : MULTIPLE INHERITANCE 47 LAB 11 : VIRTUAL FUNCTIONS 52 LAB 12 : FRIEND FUNCTIONS 58 LAB 13 : STATIC FUNCTIONS 62 LAB 14 : FILE HANDLING IN C++ 66
  • 6. Object Oriented Programming Lab 1 1 International Islamic University Islamabad Faculty of Engineering and Technology Department of Electrical and Computer Engineering Object Oriented Programming Lab (CS101L) Lab 1 : Classes and Objects Name: Reg. No: Date of Experiment: OBE Rubrics Evaluation a) PSYCHOMOTOR (To be judged in the field/lab during experiment) Sr. No. Criteria Level 1 (0%) Level 2 (25%) Level 3 (50%) Level 4 (75%) Level 5 (100%) Marks Obtained 1 Practical Implementation 0 1 2,3 4,5 6 Absent With several critical errors and incomplete With few errors, and incomplete With some errors and complete Without errors and complete (b) AFFECTIVE (To be judged on the copy of experiment submitted) Sr. No. Criteria Level 1 (0%) Level 2 (25%) Level 3 (50%) Level 4 (75%) Level 5 (100%) Marks Obtained 2 Level of Participation & Attitude to Achieve Individual/Group Goals 0 1 2 3 4 Absent Bad Attitude Decent Attitude Good Attitude Proactive Attitude 3 Total Marks Obtained (Out of 10):
  • 7. Object Oriented Programming Lab 1 2 Q1. Make a Circle class.  It has three attributes radius, the x and the y coordinates of its center of double data type.  Make void set(double, double, double) functions to set x, y and radius.  Make void get() functions to get x, y and radius from user.  Make void show() function to display x , y coordinates and radius of a circle.  Make double area() function, and a double circumference() function to calculate and return area and circumference.  Call these functions in main() to test their working. This should be the output of program Q2. Make a Rectangle class.  It has two attributes length, and width of int data type.  Make two member functions int perimeter() and int area() to calculate and return perimeter and the area of a rectangle.  Make void set( int l, int w) and void get() functions to change the length and width attributes.  Make a void draw() function that draws a rectangle using a character * on console. Radius: 50, x: 10, y: 20 Area of c1 = 7854 Circumference of c1 = 314.16 Enter Radius: 10 Enter x-coordinate: 3 Enter y-coordinate: 5 Radius: 10, x: 3, y: 5 Area of c2 = 314.16 Circumference of c2 = 62.832 Press any key to continue . . .
  • 8. Object Oriented Programming Lab 1 3 ********* * * * * ********* This should be the output of program Length: 4 Width : 6 Area of Rectangle = 24 Perimeter of Rectangle = 20 ****** * * * * ****** Press any key to continue . . .
  • 9. Object Oriented Programming Lab 1 1 Solution Lab 1 Task 1:
  • 10. Object Oriented Programming Lab 1 2 Solution Lab 1 Task 2:
  • 11. Object Oriented Programming Lab 2 3 International Islamic University Islamabad Faculty of Engineering and Technology Department of Electrical and Computer Engineering Object Oriented Programming Lab (CS101L) Lab 2 : Constructors Name: Reg. No: Date of Experiment: OBE Rubrics Evaluation a) PSYCHOMOTOR (To be judged in the field/lab during experiment) Sr. No. Criteria Level 1 (0%) Level 2 (25%) Level 3 (50%) Level 4 (75%) Level 5 (100%) Marks Obtained 1 Practical Implementation 0 1 2,3 4,5 6 Absent With several critical errors and incomplete With few errors, and incomplete With some errors and complete Without errors and complete (b) AFFECTIVE (To be judged on the copy of experiment submitted) Sr. No. Criteria Level 1 (0%) Level 2 (25%) Level 3 (50%) Level 4 (75%) Level 5 (100%) Marks Obtained 2 Level of Participation & Attitude to Achieve Individual/Group Goals 0 1 2 3 4 Absent Bad Attitude Decent Attitude Good Attitude Proactive Attitude 3 Total Marks Obtained (Out of 10):
  • 12. Object Oriented Programming Lab 2 4 Q1. Make a student class.  It has two attributes o name as a character array of size 50 o gpa as a double data type.  Make no argument constructor to set o name equal to "" (hint: use strcpy function) o gpa equal to zero  Make two arguments constructor to set o name equal to First Argument o gpa equal to Second Argument  Make void get() functions to get name with spaces and gpa from user.  Make void show() function to display name and gpa on screen.  Make three student objects in main() and call two arguments constructer while creating first object and call no-argument constructer for other two objects.  Call these functions to check their working. This should be the output of program Q2. Make a Temperature class.  It has one attributes c to represent temperature degree centigrade, of double data type.  Make no argument constructor to set c equal to zero Your Name is “Rashid Farid” and Your GPA = 2.59 Enter Name: M. Usman Enter GPA : 3.5 Your Name is “M. Usman” and Your GPA = 3.5 Enter Name: M. Ali Enter GPA : 4.0 Your Name is “M. Ali” and Your GPA = 4.0 Press any key to continue . . .
  • 13. Object Oriented Programming Lab 2 5  Make void get_c() functions to get temperature value in Degree centigrade from user.  Make void get_f() functions to get temperature value in Degree Fahrenheit from user.  Make void show_c() function to display temperature in Degree Centigrade on screen.  Make void show_f() function to display temperature in Degree Fahrenheit on screen. Note: ctemp = (ftemp-32) * 5.0 / 9.0; This should be the output of program Enter Temperature in Degree Centigrade: 37 37 C = 98.6 F Enter Temperature in Degree Fahrenheit: 98.5 98.5 F = 36.9444 C
  • 14. Object Oriented Programming Lab 2 6 Solution Lab 2 Task 1:
  • 15. Object Oriented Programming Lab 2 7 Solution Lab 2 Task 2:
  • 16. Object Oriented Programming Lab 3 8 International Islamic University Islamabad Faculty of Engineering and Technology Department of Electrical and Computer Engineering Object Oriented Programming Lab (CS101L) Lab 3 : Destructors Name: Reg. No: Date of Experiment: OBE Rubrics Evaluation a) PSYCHOMOTOR (To be judged in the field/lab during experiment) Sr. No. Criteria Level 1 (0%) Level 2 (25%) Level 3 (50%) Level 4 (75%) Level 5 (100%) Marks Obtained 1 Practical Implementation 0 1 2,3 4,5 6 1 Absent With several critical errors and incomplete With few errors, and incomplete With some errors and complete Without errors and complete (b) AFFECTIVE (To be judged on the copy of experiment submitted) Sr. No. Criteria Level 1 (0%) Level 2 (25%) Level 3 (50%) Level 4 (75%) Level 5 (100%) Marks Obtained 2 Level of Participation & Attitude to Achieve Individual/Group Goals 0 1 2 3 4 Absent Bad Attitude Decent Attitude Good Attitude Proactive Attitude 3 Total Marks Obtained (Out of 10):
  • 17. Object Oriented Programming Lab 3 9 Q1. Make a Tree class.  It has one attributes o height as unsigned int  Make No Argument Constructor to set height equals to the zero. Also print this message “A tree of zero length has been created”.  Make One Argument Constructor to set height equals to the argument value. Also print this message “A tree has been created”.  Make a destructor and print “The tree has been destroyed” message inside it.  Make void grow(int meters) function to add argument value to the tree height value.  Make void printsize() function to print tree height on screen.  Make void Create_Tree() function outside the class.  Make One tree object in Create_Tree() function and call members functions inside it.  Call Create_Tree() function two times inside main(). The output of program should be like this. Q2. Make an Employee class.  It has two attributes o id as unsigned int. o length as unsigned int. o name as a character pointer.  Make no argument constructor to set o ID equals to 1 o length equals to 100 A tree has been created Tree height is 16 Meters The Tree has been destroyed A tree has been created Tree height is 16 Meters The Tree has been destroyed Press any key to continue . . .
  • 18. Object Oriented Programming Lab 3 10 o dynamically allocate length+1 = 101 bytes of memory to name pointer  Make two arguments constructor to set o ID equals to first argument o length equals to string length of 2nd argument o name equals to the copy of second argument dynamically .  Make a destructor and free the dynamic allocated memory.  Make void get() functions to get ID and name with spaces from user. (hint: use cin.get or cin.getline function) o Empty input buffer using fflush(stdin) after using cin.get  Make void show() function to display ID and name on screen.  Make one Employee Object in main() using no argument constructor and another Employee Object using two argument constructor.  Call functions to check their working. Following is the possible output of program. ID = 1, Name = M. Usman Enter Employee ID: 1 Enter Employee Name: Rashid Farid ID = 1, Name = Rashid F Enter Employee ID: 2 Enter Employee Name: Shahid Farid Chishti ID = 2, Name = Shahid Farid Chishti Press any key to continue . . .
  • 19. Object Oriented Programming Lab 3 11 Solution Lab 3 Task 1:
  • 20. Object Oriented Programming Lab 3 12 Solution Lab 3 Task 2:
  • 21. Object Oriented Programming Lab 4 13 International Islamic University Islamabad Faculty of Engineering and Technology Department of Electrical and Computer Engineering Object Oriented Programming Lab (CS101L) Lab 4 : Passing Objects as Function Arguments. Name: Reg. No: Date of Experiment: OBE Rubrics Evaluation a) PSYCHOMOTOR (To be judged in the field/lab during experiment) Sr. No. Criteria Level 1 (0%) Level 2 (25%) Level 3 (50%) Level 4 (75%) Level 5 (100%) Marks Obtained 1 Practical Implementation 0 1 2,3 4,5 6 1 Absent With several critical errors and incomplete With few errors, and incomplete With some errors and complete Without errors and complete (b) AFFECTIVE (To be judged on the copy of experiment submitted) Sr. No. Criteria Level 1 (0%) Level 2 (25%) Level 3 (50%) Level 4 (75%) Level 5 (100%) Marks Obtained 2 Level of Participation & Attitude to Achieve Individual/Group Goals 0 1 2 3 4 Absent Bad Attitude Decent Attitude Good Attitude Proactive Attitude 3 Total Marks Obtained (Out of 10):
  • 22. Object Oriented Programming Lab 4 14 Q1. Make a Matrix class, which represents a 3x3 Matrix  It has three attribute o ary as a ThwoD array of double data type. o rows as unsigned int. o columns as unsigned int.  Make no argument constructor to set o All elements of ary equal to zero. o Set rows and columns equal to 3.  Make three arguments constructor that takes o first argument as TwoD array of double data type o 2nd argument as number of rows o 3rd argument as number of columns  Make void get() functions to get data for each element of array ary.  Make void show() function to display ary on screen.  Make double mod() function to calculate and return mod value of the matrix.  Make void add( Matrix A, Matrix B) function to add two Matrix Objects and copy the answer in the third object which has called the add function. e.g. Obj3.add(Obj1 , Obj2); OR  you can make Matrix add(Matrix B) function to add two Matrix Objects and return the answer as a Matrix object. Similarly  Make void Sub( Matrix A, Matrix B) to subtract two Matrix object  Make void Mul( Matrix A, Matrix B) to Multiply two Mat object  Remember to write functions declaration inside the class and functions definition outside the class.  Make three Matrix objects in main() and call these functions to check their working. Here is the output of program
  • 23. Object Oriented Programming Lab 4 15 A[0][0]:1 A[0][1]:2 A[0][2]:3 A[1][0]:4 A[1][1]:5 A[1][2]:6 A[2][0]:7 A[2][1]:8 A[2][2]:9 9 8 7 6 5 4 3 2 1 * 1 2 3 4 5 6 7 8 9 = 90 114 138 54 69 84 18 24 30 Press any key to continue . . .
  • 24. Object Oriented Programming Lab 4 16 Solution Lab 4 Task:
  • 27. Object Oriented Programming Lab 5 19 International Islamic University Islamabad Faculty of Engineering and Technology Department of Electrical and Computer Engineering Object Oriented Programming Lab (CS101L) Lab 5 : Passing Objects by Reference. Name: Reg. No: Date of Experiment: OBE Rubrics Evaluation a) PSYCHOMOTOR (To be judged in the field/lab during experiment) Sr. No. Criteria Level 1 (0%) Level 2 (25%) Level 3 (50%) Level 4 (75%) Level 5 (100%) Marks Obtained 1 Practical Implementation 0 1 2,3 4,5 6 1 Absent With several critical errors and incomplete With few errors, and incomplete With some errors and complete Without errors and complete (b) AFFECTIVE (To be judged on the copy of experiment submitted) Sr. No. Criteria Level 1 (0%) Level 2 (25%) Level 3 (50%) Level 4 (75%) Level 5 (100%) Marks Obtained 2 Level of Participation & Attitude to Achieve Individual/Group Goals 0 1 2 3 4 Absent Bad Attitude Decent Attitude Good Attitude Proactive Attitude 3 Total Marks Obtained (Out of 10):
  • 28. Object Oriented Programming Lab 5 20 Q1. Make a Vector class that represents a 3D vector  It has three attribute o i, j and k as double data type.  Make no argument constructor to set o All attributes equal to zero.  Make three arguments constructor that takes o First argument and saves it into i. o Second argument and saves it into j. o Third argument and saves it into k.  Make void Get() functions to get data for attributes of this class.  Make void Show() function to display these attributes on screen. Like this: < 3, 4, -6 >  Make double Mod() function to calculate and return length of a vector. |𝑨| = √𝑨𝒊 𝟐 + 𝑨𝒋 𝟐 + 𝑨𝒌 𝟐  Make double Dot(const Vector& B) const function to calculate and return dot product of two vectors. |𝑨 ∙ 𝑩| = 𝑨𝒊𝑩𝒊 + 𝑨𝒋𝑩𝒋 + 𝑨𝒌𝑩𝒌  Make Vector Cross( const Vector& B) const function to calculate and return cross product of two vectors. This function will be called in main() like this: C = A.Cross(Vector B); |𝑨 × 𝑩| = | 𝒊 𝒋 𝒌 𝑨𝒊 𝑨𝒋 𝑨𝒌 𝑩𝒊 𝑩𝒋 𝑩𝒌 |
  • 29. Object Oriented Programming Lab 5 21 Similarly  Make Vector Sub( const Vector& B) const to subtract two Vector objects  Make Vector Add( const Vector& B) const to add two Vector objects  Remember to write functions declaration inside the class and functions definition outside the class.  Also make three separate files Vector.h, Vector.cpp and main.cpp  Make three Vector objects in main() and call these functions to check their working. o In the main function take inputs for two vectors from user. o Ask the user what type of operation he/she wants to perform. o Apply that operation and show the answer on screen. Here is the output of program Enter Vector A: Enter Coefficient of <i>:1 Enter Coefficient of <j>:2 Enter Coefficient of <k>:3 Enter Vector B: Enter Coefficient of <i>:4 Enter Coefficient of <j>:5 Enter Coefficient of <k>:6 Enter Vector Operation: [1] - Magnitude of A Vector. [2] - Dot Product. [3] - Cross Product. [4] - A - B [5] - A + B [q] - Quit this Program 3 < 1, 2, 3 > Cross < 4, 5, 6 > = < -3, 6, -3 > Press any key to continue . . .
  • 30. Object Oriented Programming Lab 5 22 Solution Lab 5 Task:
  • 33. Object Oriented Programming Lab 6 25 International Islamic University Islamabad Faculty of Engineering and Technology Department of Electrical and Computer Engineering Object Oriented Programming Lab (CS101L) Lab 6 : Unary Operator Overloading Name: Reg. No: Date of Experiment: OBE Rubrics Evaluation a) PSYCHOMOTOR (To be judged in the field/lab during experiment) Sr. No. Criteria Level 1 (0%) Level 2 (25%) Level 3 (50%) Level 4 (75%) Level 5 (100%) Marks Obtained 1 Practical Implementation 0 1 2,3 4,5 6 1 Absent With several critical errors and incomplete With few errors, and incomplete With some errors and complete Without errors and complete (b) AFFECTIVE (To be judged on the copy of experiment submitted) Sr. No. Criteria Level 1 (0%) Level 2 (25%) Level 3 (50%) Level 4 (75%) Level 5 (100%) Marks Obtained 2 Level of Participation & Attitude to Achieve Individual/Group Goals 0 1 2 3 4 Absent Bad Attitude Decent Attitude Good Attitude Proactive Attitude 3 Total Marks Obtained (Out of 10):
  • 34. Object Oriented Programming Lab 6 26 Q1. Create a class called Time that represents a time in 24 hours format.  It has three attribute o sec, min and hrs as integer data type.  Make no argument constructor to set initial time equals to 00:00:00 as hh : mm : ss  Make three argument constructor to set initial time equals to the argument values. o First argument changes hrs. o Second argument changes min. o Third argument chnges sec.  Make void set(int h,int m,int s) function to set hrs, min, sec.  Make void show() function to display time in 23:59:59 format.  Make void get() function to get values of hrs, min and sec from user.  Make void tick() member function that increments the time stored in a Time object by one second.  Make Time Operator ++() member function that increments the time stored in a Time object by one second in a prefix way.  Make Time Operator ++(int) member function that increments the time stored in a Time object by one second in a postfix way.  Make Time Operator --() member function that decrements the time stored in a Time object by one second in a prefix way.  Make Time Operator --(int) member function that decrements the time stored in a Time object by one second in a postfix way. o While incrementing or decrementing time make sure to implement the following cases:  Incrementing into the next minute.  Incrementing into the next hour.  Incrementing into the next day (i.e., 23:59:59 to 00:00:00).  In the main function.
  • 35. Object Oriented Programming Lab 6 27 o Make a time object in a main function. o Get the initial time value from user. o Make an infinite loop o Call tick() and show() functions in that loop for time object after each second.  You can use windows.h header file and Sleep(1000) function to get delay of 1 second. Here is the output of program Enter Hours :23 Enter mmutes:59 Enter ssonds:55 23:59:56 23:59:57 23:59:58 23:59:59 00:00:00 00:00:01 00:00:02 00:00:03 00:00:04 00:00:05 00:00:06 00:00:07 00:00:08 00:00:09 00:00:10 00:00:11
  • 36. Object Oriented Programming Lab 6 28 Solution Lab 6 Task:
  • 39. Object Oriented Programming Lab 7 31 International Islamic University Islamabad Faculty of Engineering and Technology Department of Electrical and Computer Engineering Object Oriented Programming Lab (CS101L) Lab 7 : Binary Operator Overloading Name: Reg. No: Date of Experiment: OBE Rubrics Evaluation a) PSYCHOMOTOR (To be judged in the field/lab during experiment) Sr. No. Criteria Level 1 (0%) Level 2 (25%) Level 3 (50%) Level 4 (75%) Level 5 (100%) Marks Obtained 1 Practical Implementation 0 1 2,3 4,5 6 1 Absent With several critical errors and incomplete With few errors, and incomplete With some errors and complete Without errors and complete (b) AFFECTIVE (To be judged on the copy of experiment submitted) Sr. No. Criteria Level 1 (0%) Level 2 (25%) Level 3 (50%) Level 4 (75%) Level 5 (100%) Marks Obtained 2 Level of Participation & Attitude to Achieve Individual/Group Goals 0 1 2 3 4 Absent Bad Attitude Decent Attitude Good Attitude Proactive Attitude 3 Total Marks Obtained (Out of 10):
  • 40. Object Oriented Programming Lab 7 32 Q1. Create a class called Rational that represents a rational number.  It has two attribute o P, and Q as integer data type.  Make no argument constructor to set initial value equals to 1.  Make two argument constructor to set initial value equal to the argument value. o First argument changes P. o Second argument changes Q.  Make void Set(int p, int q) function to set P and Q.  Make void Get() function to get values of P and Q from user.  Make void Show() function to display number in P / Q format.  Make int GCD() function to calculate and return GCD of P and Q.  Make void Reduce() member function that stores P and Q in reduced form. For example, the fraction 2/4 would be stored in the object as 1 in the numerator and 2 in the denominator. So to get P and Q in reduced form, divide both P and Q with their GCD.  Make double Return_Double() member function that divides p by q and returns the answer as double data type.  Make Rational Operator + (Rational B) member function that adds two rational numbers.  Make Rational Operator - (Rational B) member function that subtracts two rational numbers.  Make Rational Operator * (Rational B) member function that multiplies two rational numbers in reduced form.  Make Rational Operator / (Rational B) member function that divides two rational numbers in reduced form. o While Performing Arithmetic Operations (+, -, * and /) on two rational numbers, make sure to return the final answer in reduced form.  Make three rational object in a main function and call these operators to check their functionality.
  • 41. Object Oriented Programming Lab 7 33 Here is the output of program Enter 1st Rational Number: Enter P : 45 Enter Q : 20 Enter 2nd Rational Number: Enter P : 21 Enter Q : 70 9/4 + 3/10 = 51/20 9/4 - 3/10 = 39/20 9/4 * 3/10 = 27/40 9/4 / 3/10 = 15/2 Press any key to continue . . .
  • 42. Object Oriented Programming Lab 7 34 Solution Lab 7 Task:
  • 45. Object Oriented Programming Lab 8 37 International Islamic University Islamabad Faculty of Engineering and Technology Department of Electrical and Computer Engineering Object Oriented Programming Lab (CS101L) Lab 8 : Inheritance Name: Reg. No: Date of Experiment: OBE Rubrics Evaluation a) PSYCHOMOTOR (To be judged in the field/lab during experiment) Sr. No. Criteria Level 1 (0%) Level 2 (25%) Level 3 (50%) Level 4 (75%) Level 5 (100%) Marks Obtained 1 Practical Implementation 0 1 2,3 4,5 6 1 Absent With several critical errors and incomplete With few errors, and incomplete With some errors and complete Without errors and complete (b) AFFECTIVE (To be judged on the copy of experiment submitted) Sr. No. Criteria Level 1 (0%) Level 2 (25%) Level 3 (50%) Level 4 (75%) Level 5 (100%) Marks Obtained 2 Level of Participation & Attitude to Achieve Individual/Group Goals 0 1 2 3 4 Absent Bad Attitude Decent Attitude Good Attitude Proactive Attitude 3 Total Marks Obtained (Out of 10):
  • 46. Object Oriented Programming Lab 8 38 Figure: UML Diagram of inheritance Q1A. Create a class named Person.  It has two attribute as private o name as character array of size 50. o age as int.  Make no argument constructor to set name equals to empty string and age equals to zero.  Make two argument constructor o The first argument changes the value of name. o The second argument changes the value of age.  Make void Get_Data() function to get name and age from user.  Make void Show_Data() function show the value of name and age on screen. Q1B. Create another class named Student that is publically inherited from Person class.  It has two attribute as private o Degree as character array of size 50; o gpa as double data type.  Make no argument constructor to set degree equals to empty string and gpa equals to 0. o Also call the no argument constructor of parent class.  Make four argument constructor. o The first argument changes the value of name. Person char name[50] int age Person() Person(char _name[], int _age) void Get_Data() void Show_Date() Student char degree[50] double gpa Person() Person(char name[], int age, char degree[], double gpa) void Get_Data() void Show_Data()
  • 47. Object Oriented Programming Lab 8 39 o The second argument changes the value of age. o The third argument changes the value of degree. o The fourth argument changes the value of gpa. o To change name and age, call two argument constructor of parent class.  Make void Get_Data() function to get value of name, age, degree and gpa from user. o Also call Get_Data() function of parent class from child class.  Make void Show_Data() function to show value of name, age, degree and gpa on screen. o Also call Show_Data() function of parent class from child class. Q1C. Make main() function  Make a student object. Get and then show his/her information on screen. Here is the output of program Enter Student's Information Name: Rashid Farid Chishti Age : 42 Degree Program: BS in Computer Engineering GPA : 3.59 [You typed Following Information] Name : Rashid Farid Chishti Age : 42 Degree Program: BS in Computer Engineering GPA : 3.59 Press any key to continue . . .
  • 48. Object Oriented Programming Lab 8 40 Solution Lab 8 Task:
  • 50. Object Oriented Programming Lab 9 42 International Islamic University Islamabad Faculty of Engineering and Technology Department of Electrical and Computer Engineering Object Oriented Programming Lab (CS101L) Lab 9 : Using Inheritance in Date and DoB Name: Reg. No: Date of Experiment: OBE Rubrics Evaluation a) PSYCHOMOTOR (To be judged in the field/lab during experiment) Sr. No. Criteria Level 1 (0%) Level 2 (25%) Level 3 (50%) Level 4 (75%) Level 5 (100%) Marks Obtained 1 Practical Implementation 0 1 2,3 4,5 6 1 Absent With several critical errors and incomplete With few errors, and incomplete With some errors and complete Without errors and complete (b) AFFECTIVE (To be judged on the copy of experiment submitted) Sr. No. Criteria Level 1 (0%) Level 2 (25%) Level 3 (50%) Level 4 (75%) Level 5 (100%) Marks Obtained 2 Algorithm Design or Data Record, Analysis and Evaluation 0 1 2 3 4 Absent Bad Attitude Decent Attitude Good Attitude Proactive Attitude 3 Total Marks Obtained (Out of 10):
  • 51. Object Oriented Programming Lab 9 43 Q1A. Create a class named Date.  It has three public attributes: o yy as integer o mm as integer o dd as integer  Make no argument constructor to set yy, mm and dd equals to current date.  Make three arguments constructor.  Make a void Get_Date() function to get data from user and this is a sample output of a function: o Enter Year [2014]: 2023 o Enter Month[1-12]: 11 o Enter Day [1-31]: 6  Make void Show_Date() function to show date like this format Current Date = November 6, 2023  For this purpose, make an array of month names at the top of code. Q1B. Create another class named Date_of_Birth that is publically inherited from Date class.  Make no argument and three arguments constructors.  Make a void Get_DoB() function that gets user’s Date of birth like this: Enter Year [2014]: 1998 Enter Month[1-12]: 12 Enter Day [1-31]: 25  Make a void Show_DoB() function that shows user Date of Birth like this format. Date of Birth = December 25, 1998 Date int yy int mm int dd Date() Date(int y,int m, int d) void Get_Date() void Show_Date() DoB DoB() DoB(int y,int m, int d) Get_DoB() Show_Age()
  • 52. Object Oriented Programming Lab 9 44  Make a void Show_Age() function that calculates and then shows user age based on current date and date of birth, like this format. Age = 24 years and 11 months. o While subtracting months, take one borrow from year if needed. Q1C. Make main() function  Make an Object of Date class and show current Date on screen.  Make an Object of Date_of_Birth class. Get user’s date of birth and show his/her age on screen.. This is a possible output of the program Current Date = November 6, 2023 Please Enter Your Date of Birth Enter Year [2014]: 1998 Enter Month[1-12]: 12 Enter Day [1-31]: 25 Date of Birth = December 25, 1998 Age = 24 years, 11 months Press any key to continue . . .
  • 53. Object Oriented Programming Lab 9 45 Solution Lab 9 Task:
  • 55. Object Oriented Programming Lab 10 47 International Islamic University Islamabad Faculty of Engineering and Technology Department of Electrical and Computer Engineering Object Oriented Programming Lab (CS101L) Lab 10 : Multiple Inheritance Name: Reg. No: Date of Experiment: OBE Rubrics Evaluation a) PSYCHOMOTOR (To be judged in the field/lab during experiment) Sr. No. Criteria Level 1 (0%) Level 2 (25%) Level 3 (50%) Level 4 (75%) Level 5 (100%) Marks Obtained 1 Practical Implementation 0 1 2,3 4,5 6 1 Absent With several critical errors and incomplete With few errors, and incomplete With some errors and complete Without errors and complete (b) AFFECTIVE (To be judged on the copy of experiment submitted) Sr. No. Criteria Level 1 (0%) Level 2 (25%) Level 3 (50%) Level 4 (75%) Level 5 (100%) Marks Obtained 2 Algorithm Design or Data Record, Analysis and Evaluation 0 1 2 3 4 Absent Bad Attitude Decent Attitude Good Attitude Proactive Attitude 3 Total Marks Obtained (Out of 10):
  • 56. Object Oriented Programming Lab 10 48 Figure: UML Diagram of Multiple Inheritance Q1A. Create a class Electric_Car  It has an attribute Battery_Level (type int) for a value from 0 to 100 %  Make Recharge() function that adds a number 1 to the Battery_Level.  Make Show_Bat() function that shows current Battery_Level on screen. Q1B. Create a class Petrol_Car  It has an attribute Fuel_Level (type double) for a value from 0 to 50 Liter  Make Fill_Up() function that adds a number 0.5 to the FuelLevel.  Make Show_Fuel() function that shows current Fuel_Level on screen. Petrol_Car double Fuel_Level Fill_Up() Show_Fuel() Hybrid_Car char Running_Mode Switch_Mode(char mode) Run() Electric_Car int Battery_Level void Recharge() Show_Bat()
  • 57. Object Oriented Programming Lab 10 49 Q1C. Create a class Hybrid_Car  It has an attribute Running_Mode (type chr). o If Running_Mode is b then car is on Battery mode. o If Running_Mode is f then car is on Fuel mode.  Make Switch_Mode(char mode) function that changes the RunninMode to b or f based on function arguments.  Make Run() function that o subtracts 1 from Battery_Level if car is on Battery mode o subtracts 0.5 from Fuel_Level if car is on Fuel mode. Q1D. Make an Object of Hybrid_Car in main() function and show the simulation results on screen.  Generate random numbers from 0 to 5 o If number equals to 0, call Fill_Up() o If number equals to 1, call Recharge() o If number equals to 2, call Switch_Mode('b') o If number equals to 3, call Switch_Mode('f') o If number equals to 4, call Run() o If number equals to 5, call Run() This is the output format of Simulation Battery Level = 18 % Fuel Level = 2.0 Liter
  • 58. Object Oriented Programming Lab 10 50 Solution Lab Task:
  • 60. Object Oriented Programming Lab 11 52 International Islamic University Islamabad Faculty of Engineering and Technology Department of Electrical and Computer Engineering Object Oriented Programming Lab (CS101L) Lab 11 : Virtual Functions Name: Reg. No: Date of Experiment: OBE Rubrics Evaluation a) PSYCHOMOTOR (To be judged in the field/lab during experiment) Sr. No. Criteria Level 1 (0%) Level 2 (25%) Level 3 (50%) Level 4 (75%) Level 5 (100%) Marks Obtained 1 Practical Implementation 0 1.5 3 4.5 6 Absent With several critical errors and incomplete With few errors, and incomplete With some errors and complete Without errors and complete (b) AFFECTIVE (To be judged on the copy of experiment submitted) Sr. No. Criteria Level 1 (0%) Level 2 (25%) Level 3 (50%) Level 4 (75%) Level 5 (100%) Marks Obtained 2 Level of Participation & Attitude to Achieve Individual/Group Goals 0 1 2 3 4 Absent Bad Attitude Decent Attitude Good Attitude Proactive Attitude 3 Total Marks Obtained (Out of 10):
  • 61. Object Oriented Programming Lab 11 53 Figure: UML Diagram of Virtual Functions  Create a class Shape that has three pure virtual functions as shown in the UML Diagram above.  From this class derive three classes named Circle, Rectangle and Triangle. o Each of these three classes should have a get_data() function to get its data from the user using keyboard, a show_data() function to display its data and an area() function to calculate and return area of that class.  Write a main() program that creates an array of 100 pointers to Shape. o o o Aske User: How many Shapes you want to enter? Shape virtual void get_data() = 0; virtual void show_data() = 0; virtual double area() = 0; Circle double r; Circle() void get_data() void show_data() double area() Rectangle double l, w; Rectangle() void get_data() void show_data() double area() Tringle double b, h; Triangle() void get_data() void show_data() double area()
  • 62. Object Oriented Programming Lab 11 54 o In a loop, ask the user which object he wants to enter (c = circle, r = rectange, t = triange: c) o Using new operator create an object of user choice to hold data and put the pointer to that object in the array. o When the user has finished entering the data for all objects, display the resulting data and the area of that object using a for loop and a single statement such as All_Shapes[j]-> show_data(); This is the output of Program on screen. How many Shapes you want to enter? 4 [Options] c = circle, r = rectange, t = triange: a [Options] c = circle, r = rectange, t = triange: c Enter Radius: 1 [Options] c = circle, r = rectange, t = triange: t Enter Base : 2 Enter Height : 3 [Options] c = circle, r = rectange, t = triange: r Enter Length: 4 Enter Width : 5 [Options] c = circle, r = rectange, t = triange: c Enter Radius: 6 [0]->[Circle ] Radius = 1 , Area = 3.1416 [1]->[Triangle ] Base = 2 , Height = 3 , Area = 3 [2]->[Rectangle] Length = 4 , Width = 5 , Area = 20 [3]->[Circle ] Radius = 6 , Area = 113.098 Press any key to continue . . .
  • 63. Object Oriented Programming Lab 11 55 Solution Lab Task:
  • 66. Object Oriented Programming Lab 12 58 International Islamic University Islamabad Faculty of Engineering and Technology Department of Electrical and Computer Engineering Object Oriented Programming Lab (CS101L) Lab 12 : Friend Functions Name: Reg. No: Date of Experiment: OBE Rubrics Evaluation a) PSYCHOMOTOR (To be judged in the field/lab during experiment) Sr. No. Criteria Level 1 (0%) Level 2 (25%) Level 3 (50%) Level 4 (75%) Level 5 (100%) Marks Obtained 1 Practical Implementation 0 1 2,3 4,5 6 1 Absent With several critical errors and incomplete With few errors, and incomplete With some errors and complete Without errors and complete (b) AFFECTIVE (To be judged on the copy of experiment submitted) Sr. No. Criteria Level 1 (0%) Level 2 (25%) Level 3 (50%) Level 4 (75%) Level 5 (100%) Marks Obtained 2 Level of Participation & Attitude to Achieve Individual/Group Goals 0 1 2 3 4 Absent Bad Attitude Decent Attitude Good Attitude Proactive Attitude 3 Total Marks Obtained (Out of 10):
  • 67. Object Oriented Programming Lab 12 59  Create a class Length that has two attributes o Feet as integer data type o Inches as float data type  Make a no argument constructor to set Feet and Inches equals to zero.  Make a one argument constructor that takes length in the form of float feet and then it separates feet and inches and stores them in the Feet and Inches attributes. For example, if input argument is 2.5 then the value of Feet will be 2 and the value of Inches will be 6.0.  Make a two argument constructor that takes feet in first argument and inches in the second argument and stores them in the respective attributes.  Make a Show() member function to show length in the form 2'-6.0" where 2 is the value of Feet and 6.0 is the value of Inches.  Declare a * operator as friend in the Length class and this Operator takes two Length objects as arguments.  Define * operator outside the class to Multiply two Length Objects.  Hint: o Fist convert two length objects into float feet. o Multiply two float feet numbers. o Convert the answer back to Feet and Inches using one argument constructor that you have already defined. o Return the answer in the form of Length object.
  • 68. Object Oriented Programming Lab 12 60 o For example,  I have two lengths 2'-6.0" and 3'-3.0".  Converting them to float feet I have 2.5 float feet and 3.25 float feet.  Now multiply both and I got 2.5 * 3.25 = 8.125 float feet.  Converting 8.125 float feet to feet and inches. I got 8 feet and 0.125*12 = 1.5 inches.  Make int main() function to test friend operator *.
  • 69. Object Oriented Programming Lab 12 61 Solution Lab Task:
  • 70. Object Oriented Programming Lab 13 62 International Islamic University Islamabad Faculty of Engineering and Technology Department of Electrical and Computer Engineering Object Oriented Programming Lab (CS101L) Lab 13 : Static Functions Name: Reg. No: Date of Experiment: OBE Rubrics Evaluation a) PSYCHOMOTOR (To be judged in the field/lab during experiment) Sr. No. Criteria Level 1 (0%) Level 2 (25%) Level 3 (50%) Level 4 (75%) Level 5 (100%) Marks Obtained 1 Practical Implementation 0 1 2,3 4,5 6 1 Absent With several critical errors and incomplete With few errors, and incomplete With some errors and complete Without errors and complete (b) AFFECTIVE (To be judged on the copy of experiment submitted) Sr. No. Criteria Level 1 (0%) Level 2 (25%) Level 3 (50%) Level 4 (75%) Level 5 (100%) Marks Obtained 2 Level of Participation & Attitude to Achieve Individual/Group Goals 0 1 2 3 4 Absent Bad Attitude Decent Attitude Good Attitude Proactive Attitude 3 Total Marks Obtained (Out of 10):
  • 71. Object Oriented Programming Lab 13 63 Make an Employee class.  It has two attributes o id as unsigned int o name as a character array of size 100. o total as static integer to show total number of employees o Set the initial value of total equals to 0.  Make no argument constructor o Increment total. o Set id equals to total and name equals to empty sting.  Make a destructor and decrement total inside the destructor. Also, show id and name of the Employee object that is being destroyed.  Make void get_data() functions to get name with spaces from user. Hint: use cin.getline(array_name, size).  Make void show_data() function to display id and name on screen.  Make static void show_total() to show total number of employees.  Make main() function o Call show_total() using class name. o Make an Employee Object by name and get data from user using keyboard. o Call show_total() using class name. o Now Make an Employee Object Dynamically using Employee pointer. o Call show_total() o Destroy the this employee object. o Again call show_total() using class name.
  • 72. Object Oriented Programming Lab 13 64 This is the output of Program on screen. Total Employees are: 0 Enter Name: Rashid Farid Your ID = 1 and Your Name = Rashid Farid Total Employees are: 1 Enter Name: Muhammad Ibrahim Your ID = 2 and Your Name = Muhammad Ibrahim Destroying ID: 2 of Employee: Muhammad Ibrahim Total Employees are: 1 Press any key to continue . . .
  • 73. Object Oriented Programming Lab 13 65 Solution Lab Task:
  • 74. Object Oriented Programming Lab 14 66 International Islamic University Islamabad Faculty of Engineering and Technology Department of Electrical and Computer Engineering Object Oriented Programming Lab (CS101L) Lab 14 : File Handling in C++ Name: Reg. No: Date of Experiment: OBE Rubrics Evaluation a) PSYCHOMOTOR (To be judged in the field/lab during experiment) Sr. No. Criteria Level 1 (0%) Level 2 (25%) Level 3 (50%) Level 4 (75%) Level 5 (100%) Marks Obtained 1 Practical Implementation 0 1 2,3 4,5 6 1 Absent With several critical errors and incomplete With few errors, and incomplete With some errors and complete Without errors and complete (b) AFFECTIVE (To be judged on the copy of experiment submitted) Sr. No. Criteria Level 1 (0%) Level 2 (25%) Level 3 (50%) Level 4 (75%) Level 5 (100%) Marks Obtained 2 Level of Participation & Attitude to Achieve Individual/Group Goals 0 1 2 3 4 Absent Bad Attitude Decent Attitude Good Attitude Proactive Attitude 3 Total Marks Obtained (Out of 10):
  • 75. Object Oriented Programming Lab 14 67 Make an Employee class.  It has two attributes o Name as character array o Salary as an integer.  Make Add() function that takes Name and Salary and store in File named “employees.xt”  Make Show_All() function that shows Names of All Employees and their Salary on screen by reading data from “employees.xt” file.  Make Search() function that searches Name of Employee on screen by reading data from “employees.xt” file.  Note: Use Formatted File I/O. Inside “employees.xt” file one line should contain data of one employee only.
  • 76. Object Oriented Programming Lab 14 68 This is the output of program [Operations] A - Add R - Read All S - Search name Q - Quit a Enter name : M. Ibrahim Enter Salary : 50345 Press any key to continue . . . [Operations] A - Add R - Read All S - Search name Q - Quit a Enter name : M. Bilal Enter Salary : 67345 Press any key to continue . . . [Operations] A - Add R - Read All S - Search name Q - Quit r #1 name = M. Ibrahim salary = 50345 #2 name = M. Bilal salary = 67345 [Operations] A - Add R - Read All S - Search name Q - Quit s Enter name to Search: lal #2 name = M. Bilal Salary = 67345
  • 77. Object Oriented Programming Lab 14 69 Solution Lab Task: