본문 바로가기
[ C++ ]/- C++ 문법정리

C++ 03 [클래스, 멤버변수, 멤버함수, 생성자, 소멸자, 접근지정자]

by MRG 2023. 3. 10.
728x90
반응형

▣ 클래스 : 설계도, 틀

▣ 객체 : 설계도로 생성된 완성품

 

▣ 클래스 선언 : class 클래스이름 { }; , class 키워드를 앞에 붙여야 한다.

 

▣ 멤버변수 : 클래스내부에서 선언하는 변수

 

▣ 멤버함수 : 반환형 클래스이름::멤버함수이름(매개변수){ } 순으로 생성한다. , (::)는 범위지정연산자

 

▣ 접근지정자 : public: 클래스 내부, 외부 모두 접근이 가능한 접근지정자

 

▣ 객체생성 : 클래스이름(자료형) 변수이름;으로 지정한다. 구조체를 생성하는 것과 동일하다.

 

▣ p1.Damage(50); 객체에 접근할 때에는. 점을 사용한다.

 

▣ 생성자 : 객체가 생성될 때 자동으로 한번 호출되는 함수, 생성자는 클래스 이름과 동일하게 작성해야 한다.

생성자는 리턴 타입 반환형을 선언하지 않는다,

생성자는 중복이 가능하다(단 매개변수 개수나 타입이 달라야 한다. 함수오버로딩)

 

▣ 생성자 생성 : 클래스이름::클래스이름(){}, 멤버함수와 생성하는 방식은 비슷하지만 반환형이 없다.

 

▣ Player p1; 로 객체를 생성할 때 매개변수가 없는 생성자를 호출

 

▣ Player p2(200)로 객체를 생성할 때 매개변수가 있는 생성자를 호출

 

 

▣ 위임생성자 : 생성자가 다른 생성자를 호출

 

▣ 위임생성자 생성 시 : 클래스이름 ::클래스이름() : 클래스이름(100)

기본 생성자를 선언하는 코드에서 콜론을 하나 붙여서 호출할 생성자를 넣으면 된다.

객체를 생성하게 되면 타깃생성자를 먼저 호출하고 그다음에 본인을 호출한다.

 

 

▣ 소멸자 : 객체가 소멸 시 호출되는 함수 

소멸자를 생성하기 위해서는 생성자와 동일하게 만들고 ~Player() , ~기호를 클래스 이름 앞에 붙여주면 된다.

소멸자도 생성자와 동일하게 리턴타입이 없다. 

소멸자는 매개변수도 없다. 

생성자와 소멸자 호출 순서를 확인하면서 공부해야 합니다.

 

▣ 전역객체가 지역객체보다 빨리 생성자를 호출하고 소멸 시 지역객체가 더 빠르게 호출된다.

 

▣ private : 클래스 내의 멤버 함수 접근가능

 

▣ public : 내부, 외부 모두 접근 가능

 

▣ protected : 상속받은 클래스에서만 접근 가능

 

▣ 상속클래스 : class 파생클래스이름 : public 부모클래스이름{}

 

▣ 접근지정자를 지정하지 않을 때에는 기본 private으로 지정(구조체와의 차이 구조체는 기본 public)

728x90
반응형

댓글