Write a C++ program that creates an integer class Vector  which represents an array of N integers allocated on the heap .  The class should contain the following member data and member/friend functions:  Data:  Integer pointer that points where the data is stored on the heap  Size of the vector (i.e. #of valid data points)  Capacity of the vector (total #of data points available)  Member functions  Default constructor – defines size(0), capacity = size + 5 & allocates memory on heap  Parametrized constructor – defines size(N), capacity = N + 5, allocates memory on heap and initializes all data to a default value X or  0  Copy constructor   Destructor which removes data from heap  Overloaded assignment operator=( )  Overloaded multiply operator*( ) which multiplies pairwise all the elements of two vectors; V1*V2   Overloaded scalar multiply operator*(int scalar) that multiplies all elements of a vector by  scalar; V1*scalar  friend function operator(int scalar, Vector &rhs); scalar*V1  Overloaded operator[K] – returns the Kth element of the vector  Overloaded operator[K] – which sets the Kth element  to a value X   friend function ostream& operator<<(ostream &os, const Vector &rhs) – which outputs all the valid elements of the vector   All constructors and destructors should print respective message: “default constructor”, “parametrized constructor”, “destructor”, “copy constructor”        Demonstrate the following items:  Vector V1(8, 5), V2(8, 7), V3, V4(10, 8)  Print out V1, V2, V3, V4 (nicely formatted)  V3 = V1*V2;   //prints the contents of V3  V3 = V1*10;   //print the contents of V3  V3 = 10*V1;   //prints the contents of V3  V4 = V1;  V2[6] = 25;   //prints the contents of V2  V3[i] = V2[i];  //for i = 0; i < N  V2[8] = 44;   //append the value 44 to V2 & print a  updated V2  -----------------------------------------------------------

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
icon
Concept explainers
Question
  1. Write a C++ program that creates an integer class Vector  which represents an array of N integers allocated on the heap .  The class should contain the following member data and member/friend functions: 
  • Data: 
  • Integer pointer that points where the data is stored on the heap 
  • Size of the vector (i.e. #of valid data points) 
  • Capacity of the vector (total #of data points available) 
  • Member functions 
  • Default constructor – defines size(0), capacity = size + 5 & allocates memory on heap 
  • Parametrized constructor – defines size(N), capacity = N + 5, allocates memory on heap and initializes all data to a default value X or  0 
  • Copy constructor  
  • Destructor which removes data from heap 
  • Overloaded assignment operator=( ) 
  • Overloaded multiply operator*( ) which multiplies pairwise all the elements of two vectors; V1*V2  
  • Overloaded scalar multiply operator*(int scalar) that multiplies all elements of a vector by  scalar; V1*scalar 
  • friend function operator(int scalar, Vector &rhs); scalar*V1 
  • Overloaded operator[K] – returns the Kth element of the vector 
  • Overloaded operator[K] – which sets the Kth element  to a value X  
  • friend function ostream& operator<<(ostream &os, const Vector &rhs) – which outputs all the valid elements of the vector  
  • All constructors and destructors should print respective message: “default constructor”, “parametrized constructor”, “destructor”, “copy constructor” 

 

 

 

Demonstrate the following items: 

  • Vector V1(8, 5), V2(8, 7), V3, V4(10, 8) 
  • Print out V1, V2, V3, V4 (nicely formatted) 
  • V3 = V1*V2;
  •  
  • //prints the contents of V3 
  • V3 = V1*10;
  •  
  • //print the contents of V3 
  • V3 = 10*V1;
  •  
  • //prints the contents of V3 
  • V4 = V1; 
  • V2[6] = 25;
  •  
  • //prints the contents of V2 
  • V3[i] = V2[i]; 
  • //for i = 0; i < N 
  • V2[8] = 44;
  •  
  • //append the value 44 to V2 & print a  updated V2 
  • ----------------------------------------------------------- 

 

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps with 5 images

Blurred answer
Knowledge Booster
Types of Linked List
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education