잘못된 정보가 있다면, 꼭 댓글로 알려주세요(비로그인 익명도 가능).
여러분의 피드백이 저와 방문자 모두를 올바른 정보로 인도할 수 있습니다.
감사합니다. -현록
목록Study/C++ (3)
현록의 기록저장소
1주 차 ㆁ콘솔화면 입출력(I/O) ㆁboolean(bool) 타입, 참조(reference) ㆁ실습 1 ㆁ과제 1 2주 차 ㆁstring 클래스 ㆁ파일 입출력(I/O) ㆁ개체지향 프로그래밍(object-oriented programming) ㆍ클래스 ㆍ스택과 힙 ㆍnew, delete 키워드 ㆍ생성자(constructor), 초기화 리스트(initializer list), 생성자 오버로딩(constructor overloading), 소멸자(destructor) ㆍconst 키워드 ㆁ실습 2 3주 차 ㆁ개체지향 프로그래밍(object-oriented programming) (계속) ㆍ복사 생성자(copy constructor) ㆍ함수 오버로딩(function overloading), 연산자 오버로딩(o..
연산자 오버로드 https://docs.microsoft.com/ko-kr/cpp/cpp/operator-overloading?view=vs-2019 증가 및 감소 연산자 오버로드 https://docs.microsoft.com/ko-kr/cpp/cpp/increment-and-decrement-operator-overloading-cpp?view=vs-2019 연산자를 사이에 두고 피연산자가 1개면 단항연산자, 2개면 이항연산자. [단항연산자일 경우] (연산자)(피연산자) or (피연산자)(연산자) ㆍfriend: 신경쓰지 않음. 어차피 피연산자가 1개라면 무조건 해당 클래스일테니. ㆍreturn type: 대상이 피연산자 자신? 맞으면 참조형(Vector&)으로 자신(*this) / 아니면 일반클래스..
일반상속으로 깊이로 파고든 게 아닌, 다중상속으로 옆으로 나란히 생기는 레이아웃에서는, 소멸자가 필히 가상소멸자(virtual desctructor)이어야 한다. 그렇지 않으면 Invalid address specified to RtlValidateHeap 예외가 발생한다. 멤버 메서드는 개체 메모리 레이아웃이 아닌, 별도 메모리에 공용으로 위치한다. static 멤버 메서드도 더더욱 마찬가지. (멤버 메서드는 어셈블리단에서 첫 매개변수를 호출한 개체 자신으로 하여 연산하지만, static 멤버 메서드는 클래스 공용이므로 상관않고 공용 연산을 실시한다.) 가상 함수가 존재하지 않으면, 가상테이블은 개체 메모리 레이아웃에 생겨나지 않는다. 가상 함수가 존재하면, 4바이트로 가장 최하위(offset=0)에 ..