Complete the PoundDog code by adding a constructor having a constructor initializer list that initializes age with 1, id with -1, and name with "NoName". Notice that MyString's default constructor does not get called. Note: If you instead create a traditional default constructor as below, MyString's default constructor will be called, which prints output and thus causes this activity's test to fail. Try it! // A wrong solution to this activity... PoundDog::PoundDog() { age = 1; id = -1; name.SetString("NoName"); } Here is the code: #include #include using namespace std; class MyString { public: MyString(); MyString(string s); string GetString() const { return str; }; void SetString(string s) { str = s; }; private: string str; }; MyString::MyString() { cout << "MyString default constructor called" << endl; str = ""; } MyString::MyString(string s): str(s) { } class PoundDog { public: PoundDog(); void Print() const; private: int age; int id; MyString name; }; /*PRINT YOUR CODE HERE*/ void PoundDog::Print() const { cout << "age: " << age << endl; cout << "id: " << id << endl; cout << "name: " << name.GetString() << endl; } int main() { PoundDog currDog; currDog.Print(); return 0; }

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

Complete the PoundDog code by adding a constructor having a constructor initializer list that initializes age with 1, id with -1, and name with "NoName". Notice that MyString's default constructor does not get called.

Note: If you instead create a traditional default constructor as below, MyString's default constructor will be called, which prints output and thus causes this activity's test to fail. Try it!

// A wrong solution to this activity...

PoundDog::PoundDog() {

age = 1; id = -1;

name.SetString("NoName");

}

Here is the code:

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

class MyString {
public:
MyString();
MyString(string s);
string GetString() const { return str; };
void SetString(string s) { str = s; };
private:
string str;
};

MyString::MyString() {
cout << "MyString default constructor called" << endl;
str = "";
}

MyString::MyString(string s): str(s) {
}


class PoundDog {
public:
PoundDog();
void Print() const;

private:
int age;
int id;
MyString name;
};

/*PRINT YOUR CODE HERE*/

void PoundDog::Print() const {
cout << "age: " << age << endl;
cout << "id: " << id << endl;
cout << "name: " << name.GetString() << endl;
}

int main() {
PoundDog currDog;
currDog.Print();
return 0;
}

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps with 5 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