About Lesson
C++ Constructors
1. Default Constructor
Example of default constructor:
#include <iostream>
#include <string>
// Class declaration
class Person {
private:
std::string name;
int age;
public:
// Default constructor
Person() {
name = "Unknown";
age = 0;
}
// Member function to set name and age
void setData(std::string n, int a) {
name = n;
age = a;
}
// Member function to display person's info
void displayInfo() {
std::cout << "Name: " << name << ", Age: " << age << std::endl;
}
};
int main() {
// Create object of class Person using default constructor
Person person1;
// Display default info
std::cout << "Default Person:" << std::endl;
person1.displayInfo();
// Set data using member function
person1.setData("Alice", 30);
// Display updated info
std::cout << "Updated Person:" << std::endl;
person1.displayInfo();
return 0;
}
2. Parameterized Constructor
Example of parameterized constructor:
#include <iostream>
#include <string>
// Class declaration
class Car {
private:
std::string brand;
int year;
public:
// Parameterized constructor
Car(std::string b, int y) {
brand = b;
year = y;
}
// Member function to display car's info
void displayInfo() {
std::cout << "Brand: " << brand << ", Year: " << year << std::endl;
}
};
int main() {
// Create object of class Car using parameterized constructor
Car car1("Toyota", 2020);
// Display car's info
car1.displayInfo();
return 0;
}
3. Constructor Overloading
Example of constructor overloading:
#include <iostream>
#include <string>
// Class declaration
class Rectangle {
private:
double length;
double width;
public:
// Default constructor
Rectangle() {
length = 0.0;
width = 0.0;
}
// Parameterized constructor
Rectangle(double l, double w) {
length = l;
width = w;
}
// Member function to calculate area
double calculateArea() {
return length * width;
}
};
int main() {
// Create objects of class Rectangle using different constructors
Rectangle rect1; // Default constructor
Rectangle rect2(5.0, 3.0); // Parameterized constructor
// Calculate and display area
std::cout << "Area of rectangle 1: " << rect1.calculateArea() << std::endl;
std::cout << "Area of rectangle 2: " << rect2.calculateArea() << std::endl;
return 0;
}
Conclusion
Constructors in C++ are special member functions that are automatically called when objects of a class are created. This chapter covered default constructors, parameterized constructors, and constructor overloading. Understanding constructors allows you to initialize object data and manage object creation effectively in C++ programs.
Join the conversation