0% found this document useful (0 votes)
9 views6 pages

National University of Technology Computer Engineering Department

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views6 pages

National University of Technology Computer Engineering Department

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

NATIONAL UNIVERSITY OF TECHNOLOGY

COMPUTER ENGINEERING DEPARTMENT

SUBMITTED BY: Mujawra Zainab


NUTECH ID: F23604055
SUBMITTED TO:Sir Abdul Qadeer Khan
DATE OF SUBMISSION:31st Oct,24
DEPARTMENT: CEN 23
SEMESTER:3rd
LAB REPORT 6
Understanding Deep Copy and Working with Arrays in C++
Objectives:
>Understand the difference between a shallow copy and deep copy
constructor.

> Explain why a deep copy constructor is needed

>Program a customized copy constructor (both deep and shallow)

LAB TASK:

LAB TASK 1:
Lamborghini is an international luxury sports car developer stationed in Italy.
The company has a reputation for producing cars that are extremely
expensive, powerful and rare. Lamborghini has developed a brand new model
called the Diablo. The company produces a very limited number of Diablo’s
each year. The company is producing the Diablo in only one colour called the
“Hot Red”. When the company has produced a Diablo, the car has a number
of attributes like colour, cubic capacity, number of seats, year of
manufacture, engine number, frame number and owner name. Out of these
attributes the attributes that remain the same for all Diablo’s being produced
are colour, cubic capacity and number of seats. Suppose you are working on
a system specially designed for the Lamborghini Diablo. Follow the
instructions below for creating the class and objects:
.Store the owners name as a dynamic array data member.

.Create an object named “obj1” and initialize the object.


.Create a copy constructor that can copy all those attributes that remain the
same for all cars.

.Generate another object named “obj2” that is created by copying only those
attributes that are the same from “obj1”.
.Initialize the remaining attributes with values of your own.

INPUT:
OUTPUT:
LAB TASK 2:

Your task is to create a class that contains an integer pointer data member.
Create a single object named “one” in the main and assign values to the data
member of the object. Then create another object named “two” that is a copy
of the “one”. Create a shallow copy constructor and then demonstrate that
both objects share a common memory i.e. modifying one object in fact
modifies the other. Create a display function that will show the values of the
object.

INPUT:
OUTPUT:

You might also like