
Concept explainers
(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?

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
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(); }
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?
Chapter 3 Solutions
C++ How to Program (Early Objects Version)
- C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage LearningEBK JAVA PROGRAMMINGComputer ScienceISBN:9781337671385Author:FARRELLPublisher:CENGAGE LEARNING - CONSIGNMENTMicrosoft Visual C#Computer ScienceISBN:9781337102100Author:Joyce, Farrell.Publisher:Cengage Learning,
- Systems ArchitectureComputer ScienceISBN:9781305080195Author:Stephen D. BurdPublisher:Cengage LearningProgramming with Microsoft Visual Basic 2017Computer ScienceISBN:9781337102124Author:Diane ZakPublisher:Cengage LearningC++ for Engineers and ScientistsComputer ScienceISBN:9781133187844Author:Bronson, Gary J.Publisher:Course Technology Ptr





