우리가 알고 있듯이 함수 오버로딩은 객체 지향 언어의 핵심 기능 중 하나입니다. 같은 이름의 함수를 사용할 수 있습니다. 매개변수 집합이 다릅니다. 여기서는 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