반응형
클래스 기본 문법
클래스는 C++에서 객체를 정의하는 기본 단위이며, 멤버 변수와 멤버 함수를 포함할 수 있음.
class MyClass {
public:
int data;
void print() {
cout << data << endl;
}
};
디폴트 생성자와 소멸자
클래스의 인스턴스가 생성될 때 자동으로 호출되는 함수가 생성자이며, 객체가 삭제될 때 자동으로 호출되는 함수가 소멸자임.
class MyClass {
public:
MyClass() { cout << "생성자 호출" << endl; }
~MyClass() { cout << "소멸자 호출" << endl; }
};
멤버 데이터 선언 및 초기화
C++에서는 클래스 멤버 변수의 초기화를 생성자에서 수행하거나, C++11부터는 직접 초기화할 수 있음.
class MyClass {
private:
int value = 10;
};
접근제어 지시자
C++ 클래스에서 멤버 변수와 멤버 함수의 접근 권한을 지정하는 키워드는 다음과 같음.
- public: 모든 외부 접근 허용
- protected: 외부 접근 차단, 단 파생 클래스 접근 허용
- private: 모든 외부 접근 차단 (기본값)
생성자 다중 정의
생성자는 함수 다중 정의가 가능하며, 매개변수에 따라 서로 다른 방식으로 객체를 초기화할 수 있음.
class MyClass {
public:
MyClass() {}
MyClass(int val) {}
};
메서드와 This
this 포인터는 클래스 내부에서 자기 자신의 주소를 가리키는 포인터임.
class MyClass {
public:
void show() {
cout << "주소: " << this << endl;
}
};
정적 멤버
정적 멤버 변수와 정적 멤버 함수는 클래스의 인스턴스가 아니라 클래스 자체에 속하는 멤버임.
class MyClass {
public:
static int count;
};
int MyClass::count = 0;
반응형
'SW개발 > C++' 카테고리의 다른 글
L-value와 R-value (0) | 2025.02.28 |
---|---|
6장. 복사 생성자와 임시 객체 (0) | 2025.02.26 |
4장. 함수와 네임스페이스 (0) | 2025.02.26 |
3장. C++의 주요 기본 개념 (0) | 2025.02.11 |
2장. C와 C++의 차이 (0) | 2025.02.11 |