**개념의 자세한 내용이 아닌 기존 독학 내용을 제외한 강의에서 새롭게 알게 된 내용들을 정리하였다.
복습 내용 ~
얕은 복사는 원본과 같은 주소 값을 가리킨다.
깊은 복사는 원본 값을 다른 주소에 복사하여 저장하는 것.
따라서 얕은 복사 시, 원본은 메모리 해제에 주의해야 함.
~
접근 제한자 protected
확장가능성을 염두에 두고 사용하는 접근 제한자이다.
이 때문에, 많은 프로그램에서 protected를 많이 사용하였지만, 결과적으로 확장하지 않는 경우가 많았다고 한다.
따라서 요즘은 과도하게 확장을 고려하지 않고, 확장해야 할 때가 온다면 수정하는 추세라고 한다.
소스파일(.cpp)과 헤더파일(.h) 이동 단축키
같은 이름의 소스파일과 헤더파일은 ctrl + k + o로 이동이 가능하다.
include 디렉토리 추가하기
속성 페이지의 "추가 포함 디렉터리"에서 원하는 디렉토리 추가 가능.
위 사진과 같이 지정해주면 해당 디렉토리의 파일을 #include " " 혹은 #include < >로 추가할 수 있다.
<>가 범위가 더 적다.
가상함수, virtual과 override
virtual const char* GetName() override { return name; }
위와 같은 형식으로 사용한다.
이 때, override는 cpp에서는 강제가 아니다. (Java, C#에서는 강제)
하지만 사용하는 이유는, 실수 방지와 가독성을 위하여이다.
순수 가상 함수 (Pure Virtual Function)
virtual const char* GetName() = 0;
위와 같은 형식으로 사용한다.
순수 가상 함수의 목적은 해당 함수 구현을 자식에 강요하는 것이다.
C#의 interface와 같다. 추상클래스
C#의 interface와는 다르게 변수나 구현을 자식에게 넘겨주는 것도 가능하다.
C#은 property만 가능하다.
'C++ > 수업 내용' 카테고리의 다른 글
[ C++ 6, 7, 8, 9일차 ] 자료구조 시작, T 템플릿, 콘솔 엔진 제작 시작 (0) | 2025.01.08 |
---|---|
[ C++ 4일차 ] static, 형변환, RTTI, 파일입출력, 비트 배열 (0) | 2024.12.30 |
[ C++ 2일차 ] class, 동적 메모리, C++의 고유 문법, 지평좌표계.. (1) | 2024.12.26 |
[ C++/문제 해결 ] class의 깊은 복사와 임시 객체를 통한 생성 오류 (0) | 2024.12.26 |