제가 대학교 1학년 때 [명품 C++ Programming] 교재로 진행되는 C++ 수업에서 배운 내용을 교재와 ppt를 중심으로 정리한 내용입니다.
(2022.9 ~ 2022.12)
당시에 공부를 위해서 HWP 파일로 정리해 놓은 것을 그대로 올립니다.
생성자의 목적 → 객체 생성시 객체의 필요한 초기화를 위해
▶ ex) 멤버 변수 값 초기화, 메모리 할당, 파일 열기, 네크워트 연결 등
생성자 이름은 반드시 클래스 이름과 동일함
생성자는 리턴 타입을 선언하지 않음
▶ void 타입도 안됨.
▶ 함수 실행 종료를 위해 return문 사용은 가능하지만, 어떤 값도 리턴해서는 안됨 → return; 만
객체 생성 시 오직 한번만 호출됨
▶ 자동 호출. 임의로 호출X
▶ 각 객체마다 생성자가 실행
생성자는 중복 가능
▶ 생성자는 한 클래스 내에 여러개 가능 → 단, 매개변수 개수나 타입이 서로 다르게 선언되어야함
▶ 중복된 생성자 중 하나만 실행
▶ 사용자가 다양한 방법으로 객체를 생성하게 하도록 하는 것이 목적.
▶ 객체 생성시 호출된 하나의 생성자가 다른 생성자를 호출 할수 있음.
생성자가 선언되어 있지 않으면 기본 생성자가 자동 생성
▶ 기본 생성자 : 매개변수 없는 생성자
▶ 컴파일러에 의해 자동 생성됨.
클래스 이름 :: 클래스 이름 { 초기화 내용 } 형식클래스 이름 :: 클래스 이름 : 멤버 변수(초기화 값) { } 형식클래스 이름 :: 클래스 이름: 멤버 변수(초기화 값) { } 형식,로 나열class키워드 클래스 이름 { 선언과 동시에 초기화 };~를 붙임지역객체 : 함수 내에 선언된 객체로서, 함수 종료시 소멸
▶ 생성 순서 → 프로그램에 선언된 순서로 생성
▶ 소멸 순서 → 함수 종료시, 생성된 순서의 역순으로 소멸
전역객체 : 함수의 바깥에 선언된 객체로서, 프로그램 종료시 소멸
▶ 생성 순서 → 함수가 호출되는 순간에 순서대로 생성
▶ 소멸 순서 → 프로그램 종료시, 생성된 순서의 역순으로 소멸
new를 통한 동적으로 생성된 객체
▶ 생성 순서 → new를 실행하는 순간 객체 생성
▶ 소멸 순서 → delete 연산자를 실행할 때 객체 소멸