Question
#include #include using namespace std; class Art{ protected: string title; float price; int year; public: Art(); Art(string n, float p,int y); void setYear(int y); void
#include
class Art{ protected: string title; float price; int year; public: Art(); Art(string n, float p,int y); void setYear(int y); void setTitle(string t); int getYear(); string getTitle(); virtual string GetType() = 0; // "Painting" or "Statue" virtual float getPrice() = 0; virtual void printInfo(){ cout
#include "Art.cpp"
class Painting : public Art{ int width; int height; int color; public: Painting(); Painting(string n,float p,int y,int w,int h,int c); void setValues(string n,float p,int y,int w,int h,int c); int getWidth(); int getHeight(); string getColor(); string GetType(); float getPrice(); void printInfo(); };
Question 4: Polymorphism (27 points) Assume you have all three classes from previous question (Art, Paintings, and Statues) are implemented correctly and ready to use (with setValues and getters functions). Write down the implementation of the following: 2. A global function Art Create Art(). The functions ask the user about the type of the art he wants to create, then reads the information based on the type of selected art (Painting or Statue) creates an object and returns a pointer to the newly created object using Art pointer. (5 points) 3 A main function. Inside it, do the following two things: (5 points) 1. The function creates an array of pointers to Art class of size 6. Name your array myArt. 2. Create 6 art objects using the CreateArt function and store them in myArtarray. 4 Define a new class called Museum, use this class to track the arts a museum has. The class needs two member variables: arts_data which is an array of type Art*, and a count to track how many art objects do we have. Assume that the museum cannot have more than 100 arts. Define two member functions: a. void AddArt() which calls the global function Create Art defined in Part (A) of this question to add a new art to the museum arts_data array. (3 points) b. Painting GetMost Expensive Painting which returns a pointer to the painting object of highest price in the museum, if there was no painting object, it should retum NULL. Note: you should compare only paintings objects not statues. (6 points) c. float GetTotal() which returns the total price of all art objects in the museum. (4 points) d. bool HasMoreArtValue (Museum&M2) which comparesthe original museum object with M2 object and returns true of original object has more total value. ( 4 points) Question 4: Polymorphism (27 points) Assume you have all three classes from previous question (Art, Paintings, and Statues) are implemented correctly and ready to use (with setValues and getters functions). Write down the implementation of the following: 2. A global function Art Create Art(). The functions ask the user about the type of the art he wants to create, then reads the information based on the type of selected art (Painting or Statue) creates an object and returns a pointer to the newly created object using Art pointer. (5 points) 3 A main function. Inside it, do the following two things: (5 points) 1. The function creates an array of pointers to Art class of size 6. Name your array myArt. 2. Create 6 art objects using the CreateArt function and store them in myArtarray. 4 Define a new class called Museum, use this class to track the arts a museum has. The class needs two member variables: arts_data which is an array of type Art*, and a count to track how many art objects do we have. Assume that the museum cannot have more than 100 arts. Define two member functions: a. void AddArt() which calls the global function Create Art defined in Part (A) of this question to add a new art to the museum arts_data array. (3 points) b. Painting GetMost Expensive Painting which returns a pointer to the painting object of highest price in the museum, if there was no painting object, it should retum NULL. Note: you should compare only paintings objects not statues. (6 points) c. float GetTotal() which returns the total price of all art objects in the museum. (4 points) d. bool HasMoreArtValue (Museum&M2) which comparesthe original museum object with M2 object and returns true of original object has more total value. ( 4 points)
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started