카테고리 없음
[C++] 생성자 오버로딩
s뽈록이s
2013. 7. 24. 09:26
class calc { public : calc() { cout << "calc()" << endl; } calc(int a) { cout << "calc(int a)" << endl; } }; void main() { calc cal; calc cal_(2); }
프로그램 실행화면
생성자도 오버로딩이 가능하다. calc(), calc(int a)로 선언해 주었다. 상황에 맞게 여러 생성자를 준비해 놓는다면 조금 더 편하게 사용할 수 있을 것이다.
너무 많은 생성자와 또 생성자 안에 많은 프로그램이 들어가게 되면 좋지는 않다. 내 생각에 생성자 안에서는 초기화 이외의 작업은 하지 않는 것이 좋은 것 같다.
생성자에다가 많은 프로그램을 구현해 놓으면 다른 사람이 유지보수할 때 조금 애를 먹을 수 있기 때문이다. 위의 예제와 같이 cout 정도나 DataBase 등록 같은 것들은 해도 된다고 내 스스로는 규칙을 정해두고 있다.