1. 클래스
데이터와 그 데이터를 조작하는 함수를 묶어서 정의하는 사용자 정의 자료형입니다.
class ClassName {
private:
// 비공개 멤버 변수
DataType memberVariable;
public:
// 생성자
ClassName(DataType value) : memberVariable(value) {}
// 공개 멤버 함수
void memberFunction() {
// 함수 구현
}
// getter
DataType getMemberVariable() const {
return memberVariable;
}
// setter
void setMemberVariable(DataType value) {
memberVariable = value;
}
};
2.클래스의 접근 제어자
- private: 클래스 외부에서 접근할 수 없는 멤버입니다. 기본 접근 제어자입니다.
- protected: 클래스 외부에서는 접근할 수 없지만, 상속받은 클래스에서는 접근할 수 있는 멤버입니다.
- public: 클래스 외부에서 자유롭게 접근할 수 있는 멤버입니다
3.생성자와 소멸자
- 생성자 (Constructor): 객체가 생성될 때 호출됩니다. 객체의 초기화 작업을 수행합니다.
- 소멸자 (Destructor): 객체가 소멸될 때 호출됩니다. 자원 해제 작업을 수행합니다.
class Sample {
public:
// 생성자
Sample() {
std::cout << "Constructor called" << std::endl;
}
// 소멸자
~Sample() {
std::cout << "Destructor called" << std::endl;
}
};
4.복사 생성자와 대입 연산자
- 복사 생성자 (Copy Constructor): 객체를 복사할 때 호출됩니다.
- 대입 연산자 (Assignment Operator): 이미 생성된 객체에 다른 객체의 값을 대입할 때 호출됩니다.
// 생성자
CopyExample(int value) : data(new int(value)) {}
// 복사 생성자
CopyExample(const CopyExample& other) : data(new int(*other.data)) {}
// 대입 연산자
CopyExample& operator=(const CopyExample& other) {
if (this != &other) {
delete data;
data = new int(*other.data);
}
return *this;
}
'Language > C++' 카테고리의 다른 글
[C++] 상속 (0) | 2024.08.02 |
---|---|
[C++] 템플릿 (0) | 2024.08.01 |
[C++] Namespace (0) | 2024.08.01 |