Chapter 13: Problem 18
include
Short Answer
Step by step solution
Key Concepts
These are the key concepts you need to understand to accurately answer the question.
Chapter 13: Problem 18
include
These are the key concepts you need to understand to accurately answer the question.
All the tools & learning materials you need for study success - in one app.
Get started for freeConsider the following class definitions: class baseClass { public: void print() const; int getX() const; baseClass(int a = 0); protected: int x; }; class derivedClass: public baseClass { public: void print() const; int getResult() const; derivedClass(int a = 0, int b = 0); private: int y; }; Suppose the definitions of the member functions of these classes are as follows: void baseClass::print() const { cout << "In base: x = " << x << endl; } baseClass::baseClass(int a) { x = a; } int baseClass::getX() const { return x; } void derivedClass::print() const { cout << "In derived: x = " << x << ", y = " << y << "; x + y = " << x + y << endl; } int derivedClass::getResult() const { return x + y; } derivedClass::derivedClass(int a, int b) : baseClass(a) { y = b; } What is the output of the following function main? int main() { baseClass baseObject(7); derivedClass derivedObject(3, 8); baseObject.print(); derivedObject.print(); cout << "****" << baseObject.getX() << endl; cout << "" << derivedObject.getResult() << endl; return 0; }
Consider the following class definition: class circle class cylinder: public circle { { public: public: void print() const; void print() const; void setRadius(double); void setHeight(double); double getRadius(); double getHeight(); double area(); double volume(); circle(); double area(); circle(double); cylinder(); cylinder(double, double); private: private: double radius; double height; }; }; Suppose that you have the declaration: cylinder newCylinder;
Consider the following statements: class yClass class xClass: public yClass { { public: public: void one(); void one(); void two(int, int); xClass(); yClass(); private: private: int z; int a; int b; }; }; Suppose the following statements are in a user program (client code): yClass y; xClass x; a. The private members of yClass are public members of xClass. True or False? b. Mark the following statements as valid or invalid. If a statement is invalid, explain why. i. void yClass::one() { cout << a + b << endl; } ii. y.a = 15; x.b = 30; iii. void xClass::one() { a = 10; b = 15; z = 30; cout << a + b + z << endl; } iv. cout << y.a << " " << y.b << " " << x.z << endl;
Mark the following statements as true or false. a. The constructor of a derived class can specify a call to the constructor of the base class in the heading of the function definition. b. The constructor of a derived class can specify a call to the constructor of the base class using the name of the class. c. Suppose that \(\mathbf{x}\) and \(\mathbf{y}\) are classes, one of the member variables of \(\mathbf{x}\) is an object of type \(\mathbf{y}\), and both classes have constructors. The constructor of \(\mathbf{x}\) specifies a call to the constructor of \(y\) by using the object name of type \(y\)
Suppose that class three is derived from class two, class two is derived from class one, and each class has instance variables. Suppose that an object of class three enters its scope, so the constructors of these classes will execute. Determine the order in which the constructors of these classes will execute.
What do you think about this solution?
We value your feedback to improve our textbook solutions.