c++에서 생성자를 두번 만들수 있나요? (생성자 오버로딩)

c++에서 생성자를 두번 만들수 있나요? (생성자 오버로딩)

작성일 2023.02.11댓글 1건
    게시물 수정 , 삭제는 로그인 필요

BuyFruit(char*name, char*land, int date, char* color); 
라는 생성자를 헤드파일에 적었는데


char*name, char*land 는 그대로인데 date 는 0이고 color은 "B" 문자열인 생성자를 한번 더 만들라는데(오버로드 하라나는데) 이게 제가 헤드파일에 다시 하나 작성하라는 건가요 아니면 cpp파일에 쓰는 방법이 따로 있나요??
예시코드 작성해주시면 바로 체택하겠습니다. 감사합니다. 



profile_image 익명 작성일 -

생성자 오버로딩은 같은 클래스에서 여러 개의 생성자를 정의하는 것입니다.

헤더 파일에서 생성자를 오버로딩할 수 있습니다. 예를 들어, 다음과 같은 헤더 파일을 정의할 수 있습니다.

class BuyFruit {

public:

BuyFruit(char* name, char* land, int date, char* color);

BuyFruit(char* name, char* land, char* color = "B");

};

그리고 이 생성자들을 구현할 수 있는 cpp 파일을 다음과 같이 작성할 수 있습니다.

BuyFruit::BuyFruit(char* name, char* land, int date, char* color) {

// 생성자 구현

}

BuyFruit::BuyFruit(char* name, char* land, char* color) {

// 생성자 구현

}

위의 예제에서 BuyFruit 클래스에는 2개의 생성자가 정의되어 있습니다.

첫번째 생성자는 4개의 인자를 받고, 두번째 생성자는 3개의 인자를 받습니다. 두번째 생성자에서

color의 기본값이 "B"로 정의되어 있습니다.

c++ 생성자 오버로딩 질문

c++ 공부중인 학생입니다 문제를 풀던 중 풀이가 안되는 문제가 있어... 방식도 생성자를 2~5개로 만들 수 있음.. 근데 생성 위임을 알 정도면...

c++ 객체배열 생성자 질문드립니다

... 여러개를 만들 수 있지만 오직 한번만 호출될 있다고 알 ... 생성자는 한번만 호출될 있는데 circlearray, circle() 에서 매개변수가 없는 생성자가 총 두 번...

C++ 객체 생성자 오버로딩 질문

객체를 초기화할 있도록 생성자를 오버로딩하시오. #include<iostream> using namespace std; class CRect{ int left; int top; int right; int...

자바 생성자 오버로딩

... 지금 자바 생성자 오버로딩을... 생성자 4만 있다면, 새로운 자동차를 만들되... 다른 생성자를 골라 호출할 있음을 보여주는...

이름의 생성자만 생성할수있나요?...

자바에서 하나의 클래스에 같은 이름의 생성자들만 오버로딩해서 생성할수있나요?... 그건 이미 생성자가 아니죠 그렇기 때문에 다른 이름으로는 생성자를 만들 수 없습니다.