// // Music CD // #include #include using namespace std ; #include "musiccd.h" // Contructor // Pre - None // Post - ArtistName = empty string // AlbumTitle = empty string // AlbumYear = 1901 // NumberOfSongs = 0 musiccd::musiccd(void){ this->ArtistName = "" ; this->AlbumTitle = "" ; this->AlbumYear = 1901 ; this->NumberOfSongs = 0 ; } // Constructor // Pre - NumberOfSongs >= 0 // Post - ArtistName = 'ArtistName' // AlbumTitle = 'AlbumTitle' // AlbumYear = 'AlbumYear' // NumberOfSong = 'NumberOfSongs' musiccd::musiccd(string ArtistName, string AlbumTitle, int AlbumYear, int NumberOfSongs){ this->ArtistName = ArtistName ; this->AlbumTitle = AlbumTitle ; if(AlbumYear <= 1900) { this->AlbumYear = 1901 ; } else { this->AlbumYear = AlbumYear ; } if(NumberOfSongs <= 0) { this->NumberOfSongs = 0 ; } else { this->NumberOfSongs = NumberOfSongs ; } } // Copy Constructor // Pre - None // Post - AristName = 'amusiccd'.ArtistName // AlbumTitle = 'amusiccd'.AlbumTitle // AlbumYear = 'amusiccd'.AlbumYear // NumberOfSongs = 'amusiccd'.NumberOfSongs musiccd::musiccd(const musiccd & amusiccd){ this->ArtistName = amusiccd.GetArtistName() ; this->AlbumTitle = amusiccd.GetAlbumTitle() ; if(amusiccd.GetAlbumYear() <= 1900) { this->AlbumYear = 1901 ; } else { this->AlbumYear = amusiccd.GetAlbumYear() ; } if(amusiccd.GetNumberOfSongs() <= 0) { this->NumberOfSongs = 0 ; } else { this->NumberOfSongs = amusiccd.GetNumberOfSongs() ; } } // Destructor // Pre - None // Post - Frees Memory for ArtistName // Frees Memory for AlbumTitle // Zeroes out AlbumYear // Zeroes out NumberOfSongs // Frees Memory for SongTitles musiccd::~musiccd(void){ this->ArtistName = "" ; this->AlbumTitle = "" ; this->AlbumYear = 0 ; this->NumberOfSongs = 0 ; } // GetArtistName // Pre - None // Post - Returns ArtistName string musiccd::GetArtistName(void) const{ return this->ArtistName ; } // GetAlbumTitle // Pre - None // Post - Returns AlbumTitle string musiccd::GetAlbumTitle(void) const{ return this->AlbumTitle ; } // GetAlbumYear // Pre - None // Post - Returns AlbumYear int musiccd::GetAlbumYear(void) const{ return this->AlbumYear ; } // GetNumberOfSongs // Pre - None // Post - Returns NumberOfSongs int musiccd::GetNumberOfSongs(void) const{ return this->NumberOfSongs ; } // SetArtistName // Pre - None // Post - ArtistName = 'ArtistName' bool musiccd::SetArtistName(string ArtistName){ this->ArtistName = ArtistName ; } // SetAlbumTitle // Pre - None // Post - AlbumTitle = 'AlbumTitle' bool musiccd::SetAlbumTitle(string AlbumTitle){ this->AlbumTitle = AlbumTitle ; } // SetAlbumYear // Pre - AlbumYear > 1900 // Post - AlbumYear = 'AlbumYear' bool musiccd::SetAlbumYear(int AlbumYear){ if(AlbumYear <= 1900) { return false ; } else { this->AlbumYear = AlbumYear ; return true ; } } // PrintMusicCD // Pre - None // Post - ARTISTNAME - ALBUMTITLE (YEAR) - X Songs void musiccd::PrintMusicCD(void) const{ cout << this->ArtistName << " - " << this->AlbumTitle << " (" << this->AlbumYear << ") - " ; cout << this->NumberOfSongs << " Songs." ; }