분류 전체보기70 Ch 04. 클래스의 완성 모든 내용은 [윤성우 저, "열혈 C++ 프로그래밍", 오렌지미디어] 를 기반으로 제 나름대로 이해하여 정리한 것입니다. 다소 부정확한 내용이 있을수도 있으니 이를 유념하고 봐주세요! # 좋은 클래스의 조건 1. 정보은닉 2. 캡슐화 # 정보은닉 1) 멤버변수를 private 선언하고, 2) 멤버변수에 접근하는 멤버함수를 별도로 정의 => 안전한 형태로 멤버변수의 접근을 유도 e.g. Get() : private 멤버변수의 값을 얻게하는 함수 Set() : private 멤버변수의 값을 설정하는 함수 # 멤버함수의 const 선언은, "이 함수 내에서는 멤버변수에 저장된 값을 변경하지 않겠다." 라는 의미이다. - const 선언을 한 멤버함수 내에서는 const 선언 함수만 호출 가능해진다. - 이와 .. 2020. 8. 17. Ch 03. 클래스의 기본 모든 내용은 [윤성우 저, "열혈 C++ 프로그래밍", 오렌지미디어] 를 기반으로 제 나름대로 이해하여 정리한 것입니다. 다소 부정확한 내용이 있을수도 있으니 이를 유념하고 봐주세요! # 특정 상수들이 특정 구조체나 클래스에만 의미있는 상수들이라면, enum(열거형)의 활용이 가능하다. 1) enum을 구조체 또는 클래스 안에 넣어 활용한다. 2) 1)이 부담스럽다면, 이름공간(namespace)을 이용해 상수가 사용되는 영역을 명시한다. # 클래스 안에는, 1) 변수의 선언(멤버변수) 2) 함수의 원형선언(멤버함수) 으로 구성하고, 인라인화 할 것이 아니라면 가능하면 함수의 선언과 정의를 분리하자. (함수의 선언과 정의를 분리해도 inline 키워드를 사용하면 인라인화가 가능하다.) - 함수가 클래스 .. 2020. 8. 17. Ch 02. C언어 기반의 C++ 2 모든 내용은 [윤성우 저, "열혈 C++ 프로그래밍", 오렌지미디어] 를 기반으로 제 나름대로 이해하여 정리한 것입니다. 다소 부정확한 내용이 있을수도 있으니 이를 유념하고 봐주세요! # const 사용방법 및 그 의미 1) const int => 변수값 변경불가 2) const int * ptr => 포인터를 통해 변수값 변경불가 3) int * const ptr => 포인터가 가리키는 값(변수의 주소) 변경불가 4) const int * const ptr => 2, 3) 둘다 적용 # 메모리 구조 - 코드영역 - 데이터영역 : 전역, static 변수 - 힙영역 : 동적할당(malloc) 및 해제(free) (런타임에 크기 결정) - 스택영역 : 지역변수, 매개변수 (컴파일 타임에 크기 결정) # C.. 2020. 8. 17. Ch 01. C언어 기반의 C++ 1 모든 내용은 [윤성우 저, "열혈 C++ 프로그래밍", 오렌지미디어] 를 기반으로 제 나름대로 이해하여 정리한 것입니다. 다소 부정확한 내용이 있을수도 있으니 이를 유념하고 봐주세요! # C++의 헤더파일의 확장자는 C언어와 마찬가지로 .h이다. 그러나, 표준 헤더파일 선언에서는 확장자를 생략하기로 약속되어 있다. (e.g. string.h => cstring) # 입출력에 대해 별도의 포맷을 지정 할 필요가 없다. - C언어는 int형 %d float형 %f double형 %lf C-str형 %s ... 처럼 자료형에 따라 별도의 포맷을 지정해야 한다. - 반면에, C++은 cout, cin을 통해 입출력하면 별도의 포맷을 지정할 필요가 없다. 이는 cout, cin 객체의 클래스가 자료형들에 대해 연.. 2020. 8. 17. 이전 1 2 3 4 5 6 7 8 ··· 18 다음