8.16 LAB: Playlist (output linked list) **Hey I have most of this done I just need to figure out to get rid of the indent/whitespace for this Given main(), complete the SongNode class to include the function PrintSongInfo(). Then write the PrintPlaylist() function in main.cpp to print all songs in the playlist. DO NOT print the dummy head node. Ex: If the input is: the output is: main.cpp #include "SongNode.h" void PrintPlaylist(SongNode* head) { SongNode* temp = head->GetNext(); while (temp != nullptr) { temp->PrintSongInfo(); temp = temp->GetNext(); } } int main() { SongNode* headNode = new SongNode(); SongNode* currNode = nullptr; SongNode* lastNode = headNode; string songTitle; string songLength; string songArtist; getline(cin, songTitle); while (songTitle != "-1") { getline(cin, songLength); getline(cin, songArtist); currNode = new SongNode(songTitle, songLength, songArtist); lastNode->InsertAfter(currNode); lastNode = currNode; getline(cin, songTitle); } cout << "LIST OF SONGS" << endl; cout << "-------------" << endl; PrintPlaylist(headNode); return 0; } SongNode.h #include<iostream> #include<string> using namespace std; class SongNode { private: string songTitle; string songLength; string songArtist; SongNode* nextNodeRef; public: SongNode(); SongNode(string songTitleInit, string songLengthInit, string songArtistInit); SongNode(string songTitleInit, string songLengthInit, string songArtistInit, SongNode* nextLoc); void InsertAfter(SongNode* nodeLoc); SongNode* GetNext(); void PrintSongInfo(); }; SongNode.cpp #include "SongNode.h" SongNode::SongNode() { songTitle = ""; songLength = ""; songArtist = ""; nextNodeRef = nullptr; } SongNode::SongNode(string songTitleInit, string songLengthInit, string songArtistInit) { songTitle = songTitleInit; songLength = songLengthInit; songArtist = songArtistInit; nextNodeRef = nullptr; } SongNode::SongNode(string songTitleInit, string songLengthInit, string songArtistInit, SongNode* nextLoc) { songTitle = songTitleInit; songLength = songLengthInit; songArtist = songArtistInit; nextNodeRef = nextLoc; } void SongNode::InsertAfter(SongNode* nodeLoc) { SongNode* tmpNext = nextNodeRef; nextNodeRef = nodeLoc; nodeLoc->nextNodeRef = tmpNext; } SongNode* SongNode::GetNext() { return nextNodeRef; } void SongNode::PrintSongInfo() { cout << "Title: " << songTitle << endl; cout << "Length: " << songLength << endl; cout << "Artist: " << songArtist << endl << endl; } zyBooks My library > CS 1119: Computer Programming With C++ home > 8.16: LAB: Playlist (output linked list) zyBooks catalog ? Help/FAQ 8 Julia Fritsch I.TST OF SONC5 --itle: Stomp! Iitht 380 Length: Artiat: The Brothera Johnson Title: The Iude Length: 337 Artist: Quincy Jones Title: You Don't Own Me Length: 151 Artist: Lesley Gore + LIsT of SoNCs -------- Title: Stome! Length: 380 Artist: The Brothers Johnson Title: The Dude Length: 337 Artist: Quincy Jones Title: You Don't Own Me Artiat: Lesley Gore Expected cutput Title: The Dude.