_pet = new Pet(*knight._pet);
232
작성한 질문수 5
Pet(const Pet& pet) 같은 복사 생성자를 만들어 주지 않았는데
_pet = new Pet(*knight._pet);
이 코드가 통과 되는게 이해가 안갑니다 ㅜㅜ
답변 1
1
class를 만들 때 별도로 명시하지 않아도
컴파일러가 자동으로 만들어주는 함수들이 있습니다.
(기본 생성자, 소멸자, 복사 생성자, 복사 연산자, 이동 생성자, 이동 연산자 등)
항상 자동 생성되는건 아니고 일부 코드를 넣으면
컴파일러가 자동 생성하지 않을 수도 있습니다.
일명 [Rule of Three]라고 하는데 복사 생성자, 복사 연산자, 소멸자 중 하나를 선언했으면,
나머지도 우리가 알아서 만들어야 합니다.
visualstudio에서 파일분할관리실습시 설정 문의를 드립니다.
0
544
1
정렬함수 좀 더 확실하게 이해 할 방법이 있을까요?
0
445
1
strcpy() 구현 관련 질문
0
517
1
빌드(망치)를 누르니 이런 오류가 떴습니다. 어떻게 해야 하나요?
0
459
1
클래스 타입의 포인터 질문합니다
0
549
1
입력값을 enum 값에 넣어주는거 이제 막혔나요?
0
500
1
템플릿 특수화 관련 질문
0
387
1
포인터 관련 질문합니다!
0
267
1
Unable to start assembler. Check your settings.
0
838
2
cpu선택
0
543
1
포인터 질문이 있습니다
0
328
1
20:35 에서 구조체 크기에 대한 질문입니다!
0
588
1
iterator 삭제관련
0
409
1
함수 호출을 디스어셈블러로 분석하다가 궁금점이 생겼습니다!
0
313
1
15 분 45초 대 질문
0
312
0
스택 프레임 질문합니다!
2
308
1
오른값 참조 in 게임
0
387
0
동적할당 질문이 있습니다
0
452
1
안녕하세요 메모리에 대해 질문드립니다.
0
308
1
함수객체 의 매개변수
0
363
1
복사생성자
0
438
1
main이나 endl 부분이 주황색으로 표시된건 어떻게 하나요
0
424
1
포인터 실습 강의를 보고 궁금한게 있습니다.
0
358
1
스택 오버플로우
2
793
1





