연습으로 string 클래스를 만들어보고 있는데요(아주 기본적인 것들로만요..하하하)
일반적으로 string 클래스를 이용할 때
string str1 = "Happy coding!";
string str2 = "OMG----!";
이렇게만 선언해도 생성자가 호출되는데요. 이걸 구현하려고 생각했더니 연산자 오버로딩밖에 생각이 안나더라고요. 그런데 연산자 오버로딩은 이미 생성된 객체에 한해서 호출되는 것이니 사용할 수가 없겠고 전역함수로 만들까 아니면 static 멤버 함수로 만들까 둘다 해보았지만 nonstatic member라고 컴파일러님께서 말씀해주시더라고요.
제가 생각하는 과정으로는 이해가 가지 않는데 (제가 정의한 string 클래스 이름을 MyString이라고 하겠습니다.)
MyString(const char *str)으로 인식해서 알아서 생성자 호출이 되던데...
즉 정리하자면 저는 MyString str = "My String object"; 가 MyString str("My String object);이 되는 과정을 알고 싶습니다.