프로그래밍/Modern c++
delete(삭제된 함수)
오늘의논리
2023. 3. 6. 22:26
728x90
예를들어 클래스 복사를 하게 하지 않겠다고 하면
#include <iostream>
using namespace std;
class Knight
{
public:
public:
void operator=(const Knight& k) = delete; //복사를 못하게 하겠다.
//모든 것을 뚫는 창 vs 절대방패
friend class Admin;//어드민 클래스에는 private기능에 접근 권한을 열어주겠다.
private:
int _hp = 100;
};
class Admin
{
public:
void CopyKnight(const Knight& k)
{
Knight k1;
k1 = k;//불가
}
};
int main()
{
Knight k1;
Knight k2;
k1 = k2; // 불가
return 0;
}
void operator=(const Knight& k) = delete;
이부분처럼 복사기능을 삭제시켜 사용못하게 할수 있다(함수 및 기능 삭제라고 생각하면 될듯하다)
728x90