C++ How To Program Plus Mylab Programming With Pearson Etext -- Access Card Package (10th Edition)
bartleby

Concept explainers

bartleby

Videos

Textbook Question
Book Icon
Chapter 3, Problem 3.5E

(Default Constructor) What's a default constructor? How are an object's data members initialized if a class has only a default constructor defined by the compiler?

Expert Solution & Answer
Check Mark
To determine

Program Plan:

Default Constructor:

Constructor is the first function which is automatically called by the compiler when object is created. Its main purpose is make initializations for the class. Default constructors are the one which take no arguments or parameters, and even if they have parameters, they have default value. By default value we mean initial blank value which variable can take.

Syntax

Classname();
Classname(datatype=default value);

Example

Let us see following example:

#include<iostream>
using namespace std;
class A
{
     int x;
     float y;
public:
     A(){};				// default constructor
     void disp()
    {
            cout<<"\nx = "<<x;
            cout<<"\ny = "<<y;
     }
};

int main()
{
A a;				// making object of class A
a.disp();			// call to disp() function 
}

Explanation of Solution

C++ How To Program Plus Mylab Programming With Pearson Etext -- Access Card Package (10th Edition), Chapter 3, Problem 3.5E , additional homework tip  1

A(){} is the default constructor which initialize the variable x and y with default value 0 as evident from the output.

If user does not define any default constructor then compiler itself perform the same working, by automatically initializing the variable of the class on object creation.
Example:

#include<iostream>
using namespace std;
class A
{
    int x;
    float y;
public:
    void disp()
    {
        cout<<"\nx = "<<x;
        cout<<"\ny = "<<y;
    }
};

int main()
{
A a;
a.disp();
}

C++ How To Program Plus Mylab Programming With Pearson Etext -- Access Card Package (10th Edition), Chapter 3, Problem 3.5E , additional homework tip  2

Above piece of code does not have default constructor, but when object is created for class A, its data members are automatically initialized to value 0. Thus its quite evident that even if we do not create any default constructor, complier itself will initialize every data member.

Want to see more full solutions like this?

Subscribe now to access step-by-step solutions to millions of textbook problems written by subject matter experts!
Students have asked these similar questions
State whether it is true or false. If false, explain why? " Referring to a derived-class object with a base-class handle is dangerous. "
What are the benefits of assert statements?
What are the advantages of assert statements?
Knowledge Booster
Background pattern image
Computer Science
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
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education
What is Abstract Data Types(ADT) in Data Structures ? | with Example; Author: Simple Snippets;https://www.youtube.com/watch?v=n0e27Cpc88E;License: Standard YouTube License, CC-BY