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! #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; }; /* Your solution goes 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; }

EBK JAVA PROGRAMMING
9th Edition
ISBN:9781337671385
Author:FARRELL
Publisher:FARRELL
Chapter11: Advanced Inheritance Concepts
Section: Chapter Questions
Problem 2PE
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!

#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;
};

/* Your solution goes 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 4 steps with 2 images

Blurred answer
Knowledge Booster
Reference Types in Function
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
EBK JAVA PROGRAMMING
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781337671385
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT
Programming Logic & Design Comprehensive
Programming Logic & Design Comprehensive
Computer Science
ISBN:
9781337669405
Author:
FARRELL
Publisher:
Cengage
Microsoft Visual C#
Microsoft Visual C#
Computer Science
ISBN:
9781337102100
Author:
Joyce, Farrell.
Publisher:
Cengage Learning,
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning
EBK JAVA PROGRAMMING
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781305480537
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT
New Perspectives on HTML5, CSS3, and JavaScript
New Perspectives on HTML5, CSS3, and JavaScript
Computer Science
ISBN:
9781305503922
Author:
Patrick M. Carey
Publisher:
Cengage Learning