Question: #include #include using namespace std; class Student { public: Student() { cout < < Student(), constructor called. < < endl; } explicit Student(string stuName) :

#include

#include

using namespace std;

class Student {

public:

Student() {

cout << "Student(), constructor called." << endl;

}

explicit Student(string stuName) : stuName(stuName) {

cout << "Student(stuName), constructor called." << endl;

}

~Student() {

cout << "~Student(), destructor called." << endl;

}

string getName() {

return this->stuName;

}

virtual void sayHi() {

cout << "Student: Hi!" << endl;

}

void sayHello() {

cout << "Student: Hello!" << endl;

}

private:

string stuName{ "Student" };

};

class CSStudent : public Student {

public:

CSStudent() {}

explicit CSStudent(string stuName) : Student() {}

void sayHello() {

cout << "CSStudent: Hello!" << endl;

}

};

class CSStudent340 : public CSStudent {

public:

CSStudent340() {

cout << "CSStudent340(), constructor called." << endl;

}

explicit CSStudent340(string stuName) : CSStudent(stuName) {

cout << "CSStudent340(stuName), constructor called." << endl;

}

~CSStudent340() {

cout << "~CSStudent340(), destructor called." << endl;

}

void sayHi() {

cout << "CSStudent340: Hi!" << endl;

}

};

int main() {

CSStudent340 stuM{ "Mickey" };

cout << "Stu: " << stuM.getName() << endl;

unique_ptr stu{ make_unique("Minnie") };

stu->sayHi();

stu->sayHello();

return 0;

}

I know that the program output 10 lines but I do not know why. Can you please explain.

These are the line the program outputs. Student(), constructor called. CSStudent340(stuName), constructor called. Stu: Student Student(), constructor called. CSStudent340(stuName), constructor called. CSStudent340: Hi! Student: Hello! ~Student(), destructor called. ~CSStudent340(), destructor called. ~Student(), destructor called.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!