우리가 알고 있듯이 함수 오버로딩은 객체 지향 언어의 핵심 기능 중 하나입니다. 같은 이름의 함수를 사용할 수 있습니다. 매개변수 집합이 다릅니다. 여기서는 C++ 클래스의 생성자를 오버로드하는 방법을 살펴보겠습니다. 생성자 오버로딩에는 몇 가지 중요한 개념이 있습니다.
- 오버로드된 생성자는 동일한 이름과 다른 수의 인수를 가져야 합니다.
- 전달된 인수의 수와 유형에 따라 생성자가 호출됩니다.
- 객체를 생성하는 동안 인수를 전달해야 합니다. 그렇지 않으면 생성자가 호출될 생성자를 이해할 수 없습니다.
예
#include <iostream> using namespace std; class Rect{ private: int area; public: Rect(){ area = 0; } Rect(int a, int b){ area = a * b; } void display(){ cout << "The area is: " << area << endl; } }; main(){ Rect r1; Rect r2(2, 6); r1.display(); r2.display(); }
출력
The area is: 0 The area is: 12