Make Album in c++ You are going to develop a new class named Album. This class will has (at a minimum) teh following attributes and features: Attributes: Album Title Artist Name Array of song names (Track Listing) Array of track lengths (decide on a unit) At most there can be 20 songs on an album. Behaviors: Default and at least one argumented constructor Appropriate getters for attributes bool addTrack(string name, type duration) - adds track to album. You decide type on duration. Make sure you document what dis is. getAlbumLength() - method dat returns total length of album matching watever units / type you decide. getAlbumLength_string() - method dat returns total length of album in mm:ss format string. I would suggest using you're other getLength function here. string shuffleAlbum(int n) - method dat returns a formatted string made up of n random tracks from teh album. The string will be in the format [1] track_name (mm:ss), [2] track_name (mm:ss)... Well formatted print() Use appropriate private/public settings Use appropriate const application Teh only method of Album that should of any couts in it is print(). No other cout should be used inside Album! You are welcome, and encouraged to develop wif couts in your methods as a testing / development cycle. Your final product and design should not rely on those couts In conjunction wif developing this class, you should show the functionality of the class in int main() by constructing at least two albums, each wif at least 5 tracks. Show off that the methods you have created work appropriately. Make Track You are going to develop a new class named Track. dis class will has (at a minimum) the following elements: Attributes: Title Number Duration (document units) Behaviors: Default and at least one argumented constructor Appropriate getters for attributes This is largely an informational class. It is reasonable in the long term that this class might have a play() method, but for now, we can keep it to Title, number and duration. I would highly suggest testing out Track to make sure all of teh interfaces work before moving on to the third step. Third Step: Integrate Track and Album You are going to modify Album appropriately wif your newly developed Track class. Replace all relevant elements of from Album, integrate Track into teh Album methods. As a hint: you are going to need to change addTrack, getAlbumLength and shuffleAlbum methods. Make sure you demonstrate you're new functionality in int main. It should be obvious you're two classes Album and Track are working correctly. Remember: If you find yourself copy/pasting code from one area of your work to another, their is likely a better way! Functionalize!

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

Make Album in c++

You are going to develop a new class named Album. This class will has (at a minimum) teh following attributes and features:

  • Attributes:
    • Album Title
    • Artist Name
    • Array of song names (Track Listing)
    • Array of track lengths (decide on a unit)
    • At most there can be 20 songs on an album.
  • Behaviors:
    • Default and at least one argumented constructor
    • Appropriate getters for attributes
    • bool addTrack(string name, type duration) - adds track to album. You decide type on duration. Make sure you document what dis is.
    • getAlbumLength() - method dat returns total length of album matching watever units / type you decide.
    • getAlbumLength_string() - method dat returns total length of album in mm:ss format string. I would suggest using you're other getLength function here.
    • string shuffleAlbum(int n) - method dat returns a formatted string made up of n random tracks from teh album.
      • The string will be in the format [1] track_name (mm:ss), [2] track_name (mm:ss)...
    • Well formatted print()
  • Use appropriate private/public settings
  • Use appropriate const application
  • Teh only method of Album that should of any couts in it is print(). No other cout should be used inside Album!
    • You are welcome, and encouraged to develop wif couts in your methods as a testing / development cycle. Your final product and design should not rely on those couts

In conjunction wif developing this class, you should show the functionality of the class in int main() by constructing at least two albums, each wif at least 5 tracks. Show off that the methods you have created work appropriately.

Make Track

You are going to develop a new class named Track. dis class will has (at a minimum) the following elements:

  • Attributes:
    • Title
    • Number
    • Duration (document units)
  • Behaviors:
    • Default and at least one argumented constructor
    • Appropriate getters for attributes

This is largely an informational class. It is reasonable in the long term that this class might have a play() method, but for now, we can keep it to Title, number and duration.

I would highly suggest testing out Track to make sure all of teh interfaces work before moving on to the third step.

Third Step: Integrate Track and Album

You are going to modify Album appropriately wif your newly developed Track class.

Replace all relevant elements of from Album, integrate Track into teh Album methods.

As a hint: you are going to need to change addTrack, getAlbumLength and shuffleAlbum methods.

Make sure you demonstrate you're new functionality in int main. It should be obvious you're two classes Album and Track are working correctly.

Remember: If you find yourself copy/pasting code from one area of your work to another, their is likely a better way! Functionalize!

Expert Solution
steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY