Tutorialspoint.dev

C# | Default Constructor

If you don’t provide a constructor for your class, C# creates one by default that instantiates the object and sets member variables to the default values as listed in the Default Values Table. Constructor without any parameters is called a default constructor. In other words, this type of constructor does not take parameters. The drawback of a default constructor is that every instance of the class will be initialized to the same values and it is not possible to initialize each instance of the class to different values.

The default constructor initializes:

  • All numeric fields in the class to zero.
  • All string and object fields to null.

Example 1:

// C# Program to illustrate the use
// of Default Constructor
using System;
  
namespace GFG {
      
class multiplication
{
    int a, b;
      
    // default Constructor
    public multiplication()   
    {
        a = 10;
        b = 5;
    }
  
// Main Method
public static void Main() {
      
    // an object is created, 
    // constructor is called
    multiplication obj = new multiplication(); 
      
    Console.WriteLine(obj.a);
    Console.WriteLine(obj.b);
      
    Console.WriteLine("The result of multiplication is: "
                                        +(obj.a * obj.b));
}
  
}
}

Output:

10
5
The result of multiplication is: 50

Example 2: In this example, the class Person does not have any constructors, in which case, a default constructor is automatically provided and the fields are initialized to their default values.

// C# Program to illustrate the use
// of Default Constructor
using System;
  
public class Person
{
    public int age;
    public string name;
}
  
  
// Driver Class
class TestPerson {
  
// Main Method
static void Main() {
  
    // object creation
    Person pers = new Person();
      
    Console.WriteLine("Name: {0}, Age: {1}", pers.name, pers.age);
  
}

Output:

Name: , Age: 0

Note: The output is so because a string is assigned to null by default and integers to 0.



This article is attributed to GeeksforGeeks.org

leave a comment

code

0 Comments

load comments

Subscribe to Our Newsletter