클래스
-객체를 찍어내는 틀(붕어빵)
접근 지정자
-private: 클래스 안에서만 사용 가능
-protected: 클래스 안과 상속된 클래스에서 사용 가능
-public: 어디서나 사용 가능
생성자
-오직 한 번만 실행됨
-생성자 함수의 이름은 클래스 이름과 동일해야 됨
-리턴 타입을 선언 하지 않음
-매개변수를 다르게 하여 중복 가능
class A{
public:
int b;
A() { //기본
b = 0;
}
A(int c) { //오버로딩
b = c;
}};
+생성자 호출을 할때 초기화 리스트에 넣어서 하는 것이 비용적으로 효율적이다.
class A{
public:
int b;
A(int c){ //기본
b = c;
}
A(int number): c{number}[] //초기화 리스트
};
소멸자
-객체가 사라질 때 필요한 마무리 작업이 목적임
-이름은 클래스 이름 앞에 ~를 붙임
-어떠한 값도 리턴하면 안됨
-오직 한개만 존재하고, 매개변수를 가지지 않음
class A{
public:
int b;
~A(); //소멸자
A() {
b = 0;
}};
this포인터
-클래스의 멤버 함수안에서만 사용
-멤버 함수에 컴파일러에 의해 묵시적으로 삽입 선언되는 매개변수
-매개변수의 이름과 멤버 변수의 이름이 같은 경우나 멤버 함수가 자신의 주소를 리턴할때 필요함
연산자 중복
-C++ 표준 연산자를 객체에 대해서도 적용할 수 있도록 정의하는 것
(string 클래스는 연산자 중복을 사용하고 있음)
+중복할 수 없는 연산자
:: | 범위 지정 연산자 |
. | 멤버 선택 연산자 |
.* | 멤버 포인터 연산자 |
?: | 조건 연산자 |
연산자 중복 정의
반환형 operator연산자(매개 변수 목록){
....//연산 수행
}
'자료구조' 카테고리의 다른 글
C++[8일차](큐) (0) | 2024.05.07 |
---|---|
C++[7일차](시간 복잡도) (0) | 2024.05.07 |
C++[5일차](배열, 벡터) (0) | 2024.03.31 |
C++수업[4일차](제어구조, 반복문) (0) | 2024.03.18 |
C++수업[3일차](문자열) (0) | 2024.03.11 |