Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

Define objects and classes. can a class in C++ have more than one constructor with the same name? Justify your answer with suitable example.

RGPV PYQ

Object and Classes:

Objects: In programming, an object is an instance of a class. It is a class concrete entity that represents a real world thing or concept. Objects may hold properties, attributes, members (attributes), and behaviors (methods or functions).

Classes: A class serves as a blueprint for creating objects. It defines the attributes and methods that will be used in creating objects based on this class. Simply put, a class combines data and actions.

Multiple Constructors in C++:

Indeed, C++ classes can have multiple constructors with the same name, which is called constructor overloading. In this case, it enables the provision of various constructors inside a single class with different parameter counts.

Constructor overloading example in C++ language:

C++
#include <iostream>
#include <string>

class Person {
private:
    std::string name;
    int age;

public:
    // Default constructor
    Person() : name(""), age(0) {}

    // Parameterized constructor with one parameter
    Person(std::string n) : name(n), age(0) {}

    // Parameterized constructor with two parameters
    Person(std::string n, int a) : name(n), age(a) {}

    // Method to display information
    void displayInfo() {
        std::cout << "Name: " << name << ", Age: " << age << std::endl;
    }
};

int main() {
    // Creating objects using different constructors
    Person person1;                // Default constructor
    Person person2("John");        // Parameterized constructor with one parameter
    Person person3("Alice", 25);   // Parameterized constructor with two parameters

    // Displaying information
    person1.displayInfo();
    person2.displayInfo();
    person3.displayInfo();

    return 0;
}

In this example, the Person class has three constructors:

  1. The default constructor initializes the name to an empty string and age to 0.
  2. The parameterized constructor with one parameter initializes the name with the provided value and sets age to 0.
  3. The parameterized constructor with two parameters initializes both name and age with the provided values.

By having multiple constructors, you can create objects in different ways based on the available constructor signatures.