QUESTION

Text
Image

Please help me to show the questions below lines 13-17. I put the code but the book keeps saying that is wrong! Please help me to fix it, thank you so much!


Write the Printltem() function for the base class. Sample output for below program: Last name: Smith First and last name: Bill Jones Hint: Use the keyword const to make Printltem() a virtual function. \#include 〈iostream> \#include 〈string> \#include 〈vector> using namespace std; class BaseItem \{ public: void SetLastName(string providedName) \{ lastName = providedName; \}$;$ // FIXME: Define PrintItem() member function virtual void PrintItem() \{ cout $<$ "Last name: " $<$ lastName $<$ endl; \} protected: string lastName; \} Run Failed to compile main.cpp:28:9: error: 'void DerivedItem::PrintItem() const' marked 'override', but does not override 28 I void Printitem() const override \{
Write the Printltem() function for the base class. Sample output for below program: Last name: Smith First and last name: Bill Jones Hint: Use the keyword const to make Printltem() a virtual function. string lastName; \} ; class DerivedItem : public BaseItem \{ public: void SetFirstName(string providedName) \{ firstName = providedName; \}$;$ void PrintItem() const override \{ cout $<$ "First and last name: "; cout $<$ firstName $<<" \mid "<$ lastName $<<$ end $l$; \}$;$ private: string firstName; \} ; int $\operatorname{main}()\{$ BaseItem* baseItemPtr = nullptr; DerivedItem* derivedItemPtr = nullptr; Run Failed to compile main.cpp:28:9: error: 'void DerivedItem::PrintItem() const' marked 'override', but does not override 28 I void Printitem() const override \{
Write the Printltem() function for the base class. Sample output for below program: Last name: Smith First and last name: Bill Jones Hint: Use the keyword const to make Printltem() a virtual function. BaseItem* baseItemPtr = nullptr; DerivedItem* derivedItemPtr = nullptr; vector $\langle$ BaseItem* $>$ itemList; unsigned int i; baseItemPtr = new BaseItem(); baseItemPtr->SetLastName ("Smith"); derivedItemPtr = new DerivedItem(); derivedItemPtr->SetLastName ("Jones"); derivedItemPtr->SetFirstName("Bill"); itemList.push_back(baseItemPtr); itemList.push_back(derivedItemPtr); for ( $i=0 ; i<$ itemList.size ()$;++i)\{$ itemList.at(i)->PrintItem(); \} return 0; \} Run Failed to compile main.cpp:28:9: error: 'void DerivedItem: PrintItem() const' marked 'override', but does not override 28 । void PrintItem() const override \{ ( $\sim \sim \sim \sim \sim \sim \sim$ main.cpp:28:9: error: 'void DerivedItem: PrintItem() const' marked 'override', but does not override 28 I void Printitem() const override \{

* Source of code:

#include <iostream>
#include <string>
#include <vector>
using namespace std;

class BaseItem {
public:
void SetLastName(string providedName) {
lastName = providedName;
};

// FIXME: Define PrintItem() member function

*Your answer go here* (Please help me to fix this code because it didn't work). Thank you so much!

virtual void PrintItem() {
cout << "Last name: " << lastName << endl;
}


protected:
string lastName;
};

class DerivedItem : public BaseItem {
public:
void SetFirstName(string providedName) {
firstName = providedName;
};

void PrintItem() const override {
cout << "First and last name: ";
cout << firstName << " " << lastName << endl;
};

private:
string firstName;
};

int main() {
BaseItem* baseItemPtr = nullptr;
DerivedItem* derivedItemPtr = nullptr;
vector<BaseItem*> itemList;
unsigned int i;

baseItemPtr = new BaseItem();
baseItemPtr->SetLastName("Smith");

derivedItemPtr = new DerivedItem();
derivedItemPtr->SetLastName("Jones");
derivedItemPtr->SetFirstName("Bill");

itemList.push_back(baseItemPtr);
itemList.push_back(derivedItemPtr);

for (i = 0; i < itemList.size(); ++i) {
itemList.at(i)->PrintItem();
}

return 0;
}

Public Answer

R8YFPD The First Answerer