Вот простой пример перегрузки конструктора в C++:
#include <iostream>
using namespace std;
class Rectangle {
int width, height;
public:
Rectangle() {
width = 0;
height = 0;
}
Rectangle(int w, int h) {
width = w;
height = h;
}
void printArea() {
int area = width * height;
cout << "Area: " << area << endl;
}
};
int main() {
Rectangle rect1; // Default constructor called
rect1.printArea();
Rectangle rect2(5, 10); // Overloaded constructor called
rect2.printArea();
return 0;
}
В этом примере у нас есть класс Rectangle, который представляет прямоугольник. Он имеет два конструктора:
- Конструктор по умолчанию,
Rectangle(), который устанавливает дляширинуивысотузначение 0. - Перегруженный конструктор
Rectangle(int w, int h), который принимает два параметраwиhи присваивает ихширинаивысотасоответственно.
Функция printArea()вычисляет и печатает площадь прямоугольника.
В функции main()мы демонстрируем использование перегрузки конструктора, создавая два объекта Rectangle: rect1с использованием конструктора по умолчанию, и rect2, используя перегруженный конструктор с размерами 5 и 10. Затем мы вызываем функцию printArea()для обоих объектов, чтобы отобразить соответствующие области.