Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

C++ please! 10.25 LAB: Artwork label (classes/constructors) Given main(), complete the Artist class (in files Artist.h and Artist.cpp) with constructors to initialize an artist's information,

C++ please!

10.25 LAB: Artwork label (classes/constructors)

Given main(), complete the Artist class (in files Artist.h and Artist.cpp) with constructors to initialize an artist's information, get member functions, and a PrintInfo() member function. The default constructor should initialize the artist's name to "unknown" and the years of birth and death to -1. PrintInfo() displays "Artist:", then a space, then the artist's name, then another space, then the birth and death dates in one of three formats:

(XXXX to YYYY) if both the birth and death years are nonnegative

(XXXX to present) if the birth year is nonnegative and the death year is negative

(unknown) otherwise

Complete the Artwork class (in files Artwork.h and Artwork.cpp) with constructors to initialize an artwork's information, get member functions, and a PrintInfo() member function. The default constructor should initialize the title to "unknown", the year created to -1. PrintInfo() displays an artist's information by calling the PrintInfo() function in the Artist class, followed by the artwork's title and the year created. Declare a private field of type Artist in the Artwork class.

Ex: If the input is:

Pablo Picasso Three Musicians 1881 1973 1921 

1881 and 1973 being the birth and death years respectively, with 1921 being the year the work was created, the output is:

Artist: Pablo Picasso (1881 to 1973) Title: Three Musicians, 1921 

Ex: If the input is:

Brice Marden Distant Muses 1938 -1 2000 

the output is:

Artist: Brice Marden (1938 to present) Title: Distant Muses, 2000 

Ex: If the input is:

Banksy Balloon Girl -1 -1 2002 

the output is:

Artist: Banksy (unknown) Title: Balloon Girl, 2002

Code given:

main.cpp:

#include "Artist.h" #include "Artwork.h" #include #include using namespace std;

int main() { string userTitle, userArtistName; int yearCreated, userBirthYear, userDeathYear;

getline(cin, userArtistName); getline(cin, userTitle); cin >> userBirthYear; cin >> userDeathYear; cin >> yearCreated;

Artist userArtist = Artist(userArtistName, userBirthYear, userDeathYear);

Artwork newArtwork = Artwork(userTitle, yearCreated, userArtist);

newArtwork.PrintInfo(); }

Artist.h:

#ifndef ARTISTH #define ARTISTH

#include using namespace std;

class Artist{ public: Artist();

Artist(string artistName, int birthYear, int deathYear);

string GetName() const;

int GetBirthYear() const;

int GetDeathYear() const;

void PrintInfo() const; private: // TODO: Declare private data members - artistName, birthYear, deathYear

};

#endif

Artist.cpp:

#include "Artist.h" #include #include using namespace std;

// TODO: Define default constructor

// TODO: Define second constructor to initialize // private fields (artistName, birthYear, deathYear)

// TODO: Define get functions: GetName(), GetBirthYear(), GetDeathYear()

// TODO: Define PrintInfo() function // If deathYear is entered as -1, only print birthYear

Artwork.h:

#ifndef ARTWORKH #define ARTWORKH

#include "Artist.h"

class Artwork{ public: Artwork();

Artwork(string title, int yearCreated, Artist artist);

string GetTitle();

int GetYearCreated();

void PrintInfo(); private: // TODO: Declare private data members - title, yearCreated

// TODO: Declare private data member artist of type Artist

};

#endif

Artwork.cpp:

#include "Artwork.h" #include

// TODO: Define default constructor

// TODO: Define second constructor to initialize // private fields (title, yearCreated, artist)

// TODO: Define get functions: GetTitle(), GetYearCreated()

// TODO: Define PrintInfo() function // Call the PrintInfo() function in the Artist class to print an artist's information

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Intelligent Information And Database Systems Asian Conference Aciids 2012 Kaohsiung Taiwan March 19 21 2012 Proceedings Part 3 Lnai 7198

Authors: Jeng-Shyang Pan ,Shyi-Ming Chen ,Ngoc-Thanh Nguyen

2012th Edition

3642284922, 978-3642284922

More Books

Students also viewed these Databases questions

Question

How do relationship and substantive conflict affect negotiations?

Answered: 1 week ago