Вот простой пример перегрузки конструктора в 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()
для обоих объектов, чтобы отобразить соответствующие области.