Employee(char * _name, int _age)
{
name = new char[strlen(_name) + 1];
//strcpy(name, _name);
name = _name;
age = _age;
}
위 예제는 Employee라는 이름의 클래스의 생성자 부분입니다
예전부터 은행관리 프로그램이나 명단관련한 클래스를 만들 때
꼭 들어가는 사람이름 입력 부분에서 strcpy를 쓰는경우와 그냥 복사하는경우
둘다 실행은 무리없이 되고 결과도 똑같이 나오는데, 굳이 strcpy를 쓰는이유를 알고 싶습니다
뭔가 이유가 있었던거같은데..일단 이문장에서는 두 경우가 모두 무리없이 실행됩니다
그리고 꼭 쓰지 않아도 될것같다는 생각이 든것은 상속관계에서 Base클래스의 멤버를 초기화 시킬 때
멤버이니셜라이져를 쓰는데 그 때는 그냥 값이 복사되는거랑 같게 됩니다 그래서 ~알고싶습니다
왜 저렇게 쓰게되는지~
그리고 또 ..그냥 name = _name 이렇게 하면 원래 배열전체에서 배열전체로의 복사는 허용되지않는다
로 알고 있는데 그것에 위배되는거아닌가요~