delete 예약어를 이용한 명시적 메서드 삭제
해당 메서드를 호출하는 경우를 차단한다.
class CMyData
{
public:
void SetData(int nParam) {m_nData = nParam;}
void SetData(double dParm) = delete; //명시적 메서드 삭제
private:
int m_nData;
}
int main()
{
CMyData a;
a.SetData(10);
a.SetData(5.5); //삭제된 함수를 참조하려고 합니다. 라는 오류를 띄운다. (컴파일 오류발생)
}
개발자 주의사항
프로그래밍 경험이 조금이라도 쌓인다면 어설프게 살아서 작동하는 코드가 더 심각한 문제를 만든다는 사실을 알게 될 겁니다. 그런 의미에서 delete와 같이 오류 발생 가능성을 원천 봉쇄하는 일은 매우 바람직합니다.
'◼️C++' 카테고리의 다른 글
[C++] 2차원 구조체 배열 포인터로 구조체에 접근하기 (0) | 2023.10.19 |
---|---|
[C++] 클래스의 정적멤버 (static) (0) | 2023.09.17 |
[C++] 상수형 메서드, mutable, const_cast< > (0) | 2023.09.17 |
[C++] 클래스 요구사항에 맞게 코드 구현하기 (0) | 2023.09.17 |
[C++] 메서드, this 포인터 (0) | 2023.09.17 |