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
'프로그래밍 > Modern c++' 카테고리의 다른 글
오른값 참조(rvalue reference) (0) | 2023.03.06 |
---|---|
override (0) | 2023.03.06 |
enum class (0) | 2023.03.06 |
using (0) | 2023.03.06 |
nullptr (0) | 2023.03.06 |
댓글