Given main() and the Instrument class, define a derived class, StringInstrument, for string instruments. Ex. If the input is: Drums Zildjian 2015 2500 Guitar Gibson 2002 1200 6 19 the output is: Instrument Information: Name: Drums Manufacturer: Zildjian Year built: 2015 Cost: 2500 Instrument Information: Name: Guitar Manufacturer: Gibson Year built: 2002 Cost: 1200 Number of strings: 6 Number of frets: 19 main.cpp #include "StringInstrument.h" int main() { Instrument myInstrument; StringInstrument myStringInstrument; string instrumentName, manufacturerName, stringInstrumentName, stringManufacturer, yearBuilt, cost, stringYearBuilt, stringCost, numStrings, numFrets; getline(cin, instrumentName); getline(cin, manufacturerName); getline(cin, yearBuilt); getline(cin, cost); getline(cin, stringInstrumentName); getline(cin, stringManufacturer); getline(cin, stringYearBuilt); getline(cin, stringCost); getline(cin, numStrings); getline(cin, numFrets); myInstrument.SetName(instrumentName); myInstrument.SetManufacturer(manufacturerName); myInstrument.SetYearBuilt(yearBuilt); myInstrument.SetCost(cost); myInstrument.PrintInfo(); myStringInstrument.SetName(stringInstrumentName); myStringInstrument.SetManufacturer(stringManufacturer); myStringInstrument.SetYearBuilt(stringYearBuilt); myStringInstrument.SetCost(stringCost); myStringInstrument.SetNumOfStrings(numStrings); myStringInstrument.SetNumOfFrets(numFrets); myStringInstrument.PrintInfo(); cout << " Number of strings: " << myStringInstrument.GetNumOfStrings() << endl; cout << " Number of frets: " << myStringInstrument.GetNumOfFrets() << endl; } Instrument.h #ifndef INSTRUMENTH #define INSTRUMENTH #include #include using namespace std; class Instrument { protected: string instrumentName; string instrumentManufacturer; string yearBuilt; string cost; public: void SetName(string userName); string GetName(); void SetManufacturer(string userManufacturer); string GetManufacturer(); void SetYearBuilt(string userYearBuilt); string GetYearBuilt(); void SetCost(string userCost); string GetCost(); void PrintInfo(); }; #endif StringInstrument.h #ifndef STR_INSTRUMENTH #define STR_INSTRUMENTH #include "Instrument.h" class StringInstrument : public Instrument { // TODO: Declare private data members: numStrings, numFrets // TODO: Declare mutator functions - // SetNumOfStrings(), SetNumOfFrets() // TODO: Declare accessor functions - // GetNumOfStrings(), GetNumOfFrets() }; #endif Instrument.cpp #include "Instrument.h" void Instrument::SetName(string userName) { instrumentName = userName; } string Instrument::GetName() { return instrumentName; } void Instrument::SetManufacturer(string userManufacturer) { instrumentManufacturer = userManufacturer; } string Instrument::GetManufacturer() { return instrumentManufacturer; } void Instrument::SetYearBuilt(string userYearBuilt) { yearBuilt = userYearBuilt; } string Instrument::GetYearBuilt() { return yearBuilt; } void Instrument::SetCost(string userCost) { cost = userCost; } string Instrument::GetCost() { return cost; } void Instrument::PrintInfo() { cout << "Instrument Information: " << endl; cout << " Name: " << instrumentName << endl; cout << " Manufacturer: " << instrumentManufacturer << endl; cout << " Year built: " << yearBuilt << endl; cout << " Cost: " << cost << endl; } StringInstrument.cpp #include "StringInstrument.h" // TODO: Define mutator functions - // SetNumOfStrings(), SetNumOfFrets() // TODO: Define accessor functions - // GetNumOfStrings(), GetNumOfFrets()
Given main() and the Instrument class, define a derived class, StringInstrument, for string instruments.
Ex. If the input is:
Drums
Zildjian
2015
2500
Guitar
Gibson
2002
1200
6
19
the output is:
Instrument Information:
Name: Drums
Manufacturer: Zildjian
Year built: 2015
Cost: 2500
Instrument Information:
Name: Guitar Manufacturer: Gibson
Year built: 2002
Cost: 1200
Number of strings: 6
Number of frets: 19
main.cpp
#include "StringInstrument.h"
int main() {
Instrument myInstrument;
StringInstrument myStringInstrument;
string instrumentName, manufacturerName, stringInstrumentName, stringManufacturer, yearBuilt,
cost, stringYearBuilt, stringCost, numStrings, numFrets;
getline(cin, instrumentName);
getline(cin, manufacturerName);
getline(cin, yearBuilt);
getline(cin, cost);
getline(cin, stringInstrumentName);
getline(cin, stringManufacturer);
getline(cin, stringYearBuilt);
getline(cin, stringCost);
getline(cin, numStrings);
getline(cin, numFrets);
myInstrument.SetName(instrumentName);
myInstrument.SetManufacturer(manufacturerName);
myInstrument.SetYearBuilt(yearBuilt);
myInstrument.SetCost(cost);
myInstrument.PrintInfo();
myStringInstrument.SetName(stringInstrumentName);
myStringInstrument.SetManufacturer(stringManufacturer);
myStringInstrument.SetYearBuilt(stringYearBuilt);
myStringInstrument.SetCost(stringCost);
myStringInstrument.SetNumOfStrings(numStrings);
myStringInstrument.SetNumOfFrets(numFrets);
myStringInstrument.PrintInfo();
cout << " Number of strings: " << myStringInstrument.GetNumOfStrings() << endl;
cout << " Number of frets: " << myStringInstrument.GetNumOfFrets() << endl;
}
Instrument.h
#ifndef INSTRUMENTH
#define INSTRUMENTH
#include <iostream>
#include <string>
using namespace std;
class Instrument {
protected:
string instrumentName;
string instrumentManufacturer;
string yearBuilt;
string cost;
public:
void SetName(string userName);
string GetName();
void SetManufacturer(string userManufacturer);
string GetManufacturer();
void SetYearBuilt(string userYearBuilt);
string GetYearBuilt();
void SetCost(string userCost);
string GetCost();
void PrintInfo();
};
#endif
StringInstrument.h
#ifndef STR_INSTRUMENTH
#define STR_INSTRUMENTH
#include "Instrument.h"
class StringInstrument : public Instrument {
// TODO: Declare private data members: numStrings, numFrets
// TODO: Declare mutator functions -
// SetNumOfStrings(), SetNumOfFrets()
// TODO: Declare accessor functions -
// GetNumOfStrings(), GetNumOfFrets()
};
#endif
Instrument.cpp
#include "Instrument.h"
void Instrument::SetName(string userName) {
instrumentName = userName;
}
string Instrument::GetName() {
return instrumentName;
}
void Instrument::SetManufacturer(string userManufacturer) {
instrumentManufacturer = userManufacturer;
}
string Instrument::GetManufacturer() {
return instrumentManufacturer;
}
void Instrument::SetYearBuilt(string userYearBuilt) {
yearBuilt = userYearBuilt;
}
string Instrument::GetYearBuilt() {
return yearBuilt;
}
void Instrument::SetCost(string userCost) {
cost = userCost;
}
string Instrument::GetCost() {
return cost;
}
void Instrument::PrintInfo() {
cout << "Instrument Information: " << endl;
cout << " Name: " << instrumentName << endl;
cout << " Manufacturer: " << instrumentManufacturer << endl;
cout << " Year built: " << yearBuilt << endl;
cout << " Cost: " << cost << endl;
}
StringInstrument.cpp
#include "StringInstrument.h"
// TODO: Define mutator functions -
// SetNumOfStrings(), SetNumOfFrets()
// TODO: Define accessor functions -
// GetNumOfStrings(), GetNumOfFrets()
![](/static/compass_v2/shared-icons/check-mark.png)
Trending now
This is a popular solution!
Step by step
Solved in 2 steps with 1 images
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![C How to Program (8th Edition)](https://www.bartleby.com/isbn_cover_images/9780133976892/9780133976892_smallCoverImage.gif)
![Database Systems: Design, Implementation, & Manag…](https://www.bartleby.com/isbn_cover_images/9781337627900/9781337627900_smallCoverImage.gif)
![Programmable Logic Controllers](https://www.bartleby.com/isbn_cover_images/9780073373843/9780073373843_smallCoverImage.gif)