생성자 ( 2 ) C++. 파생 클래스에서 베이스 클래스의 인자 있는 생성자 실행되게 처리법 개요. C++ 에서 상속관계에 있는 "베이스 클래스 - 파생클래스" 에서 파생클래스 측에서의 생성자 처리법 정리. 요구사항. 1. 베이스 클래스에 인자있는 생성자만 정의해뒀다. 2. 파생클래스에도 인자있는 생성자가 정의되어있다. 2. 파생클래스 개체 생성시 상기1의 베이스클래스의 인자있는 생성자 호출되게 하고 싶다. 2가지 방법 가능. 방법1. 파생클래스에 인자있는 생성자의 선언 및 정의시 베이스클래스의 생성자 명시적 실행되도록 한다. 방법2. 파생클래스에는 별도의 생성자 만들지 않고 베이스클래스의 생성자를 상속받아서 사용한다. 방법2가 더 간단함. 방법1. // 베이스 클래스에 인자있는 생성자를 정의하였다. class CBase { public: CBase(int a); // 베이스 클래스의 인자 있는.. 2015. 12. 28. C++. 클래스 생성자 관련 기초 지식. - 디폴트 생성자/복사생성자/디폴트복사생성자/Shallow Copy/Deep Copy 등. 개요. C++ 클래스 생성자 기초지식. C++ 클래스의 생성자 관련 기초 지식들 정리. 1. 클래스의 디폴트 생성자. 2. 클래스의 복사 생성자. 3. 디폴트 복사 생성자는 shallow copy 수행함. Deep Copy 원하면 복사생성자 명시적으로 정의하고 복사생성자 내에 값복사코드 추가할것. 클래스의 디폴트 생성자. 1. 컴파일 과정에서 자동으로 추가되는 생성자 를 디폴트 생성자라 한다. 디폴트 생성자는 인자없고 디폴트생성자 내에서 처리하는것도 없다. 2. 코드 작성시 클래스에 생성자를 구현하지 않은 경우, 컴파일 단계에서 클래스에 디폴트 생성자가 자동삽입되고 클래스 개체 생성시 디폴트 생성자가 실행된다. 참고 : 소멸자를 명시적으로 정의하지 않은 경우에도 컴파일 단계에서 자동으로 디폴트 소멸자가 .. 2015. 12. 28. 이전 1 다음