24.03.10 23:23 작성
·
189
1
안녕하세요. 8.5강 3:55 부근입니다.
교수님께서
//아래는 Student Class의 생성자들입니다.
Student(const string& name_in)
//: m_id(0), m_name(name_in)
: Student(0, name_in)
{}
Student(const int& id_in, const string& name_in)
: m_id(id_in), m_name(name_in)
{}
...
와 같이 Student
클래스에 생성자 두 개를 만드셨습니다.
이때, 아래와 같이 Student
클래스에 대한 인스턴스가 각각 st1
, st2
이렇게 있는데요
int main()
{
Student st1(0, "Jack Jack");
st1.print();
Student st2("Dash");
st2.print();
return 0;
}
st1
는 Student st1(0, "Jack Jack");
와 같이 (표현이 올바른지는 모르겠습니다 -->) 생성자 함수를 int
와 string
두 개의 매개변수로 호출하는데,
이때, 이름이 같은 생성자 함수가 여러개 있음에도 함수 오버로딩을 통해 int
와 string
을 매개변수로 가지는 생성자 함수를 알아서 찾게 됨으로써
Student(const int& id_in, const string& name_in)
: m_id(id_in), m_name(name_in)
{}
의 생성자만 단독으로 호출되는 원리인가요?
감사합니다.
2024. 03. 17. 13:26
감사합니다!