목록Programming Language/C++ (5)
SH1R0_HACKER
Part02 객체지향의 도입 Chapter04 클래스의 완성 04-1 정보은닉 (Information Hiding) - 우리는 객체의 생성을 목적으로 클래스를 디자인한다. 좋은 클래스가 되기 위한 최소한의 조건에는 '정보은닉'과 '캡슐화'가 있다. 먼저 '정보은닉'부터 알아보도록 하자. 제한된 방법으로의 접근만 허용을 해서 잘못된 값이 저장되지 않도록 도와야 하고, 또 실수를 했을 때, 실수가 쉽게 발견되도록 해야 한다. 어떻게 해야 이러한 것이 가능하겠는가? "멤버변수를 private으로 선언하고, 해당 변수에 접근하는 함수를 별도로 정의해서, 안전한 형태로 멤버 변수의 접근을 유도하는 것이 바로 '정보은닉'이며, 이는 좋은 클래스가 되기 위한 기본 조건이 된다!" < 엑세스 함수 (access fun..
Part 02 객체지향의 도입 Chapter03 클래스의 기본 03-01 C++에서의 구조체 #include using namespace std; struct Point // 2차원 평면상에서의 좌표를 표현할 수 있는 구조체 { int xpos; int ypos; void MovePos(int x, int y) // 점의 좌표이동 { xpos += x; ypos += y; } void AddPoint(const Point& pos) // 점의 좌표증가 { xpos += pos.xpos; ypos += pos.ypos; } void ShowPosition() // 현재 x, y 좌표정보 출력 { cout
Part 01 C++로의 전환 Chapter02 C언어 기반의 C++ 2 02-2 새로운 자료형 bool - true와 false는 그 자체로 참과 거짓을 의미하는 데이터이기 때문에, 이들 데이터의 저장을 위한 자료형이 별도로 정의되어 있는 것은 당연하다. true와 false를 가리켜 bool형 데이터라 한다. 그리고 bool은 int, double과 마찬가지로 기본자료형의 하나이기 때문에 다음과 같이 bool형 변수를 선언하는 것이 가능하다. #include using namespace std; bool IsPositive(int num) // bool도 기본자료형이기 때문에 함수의 반환형으로도 선언이 가능하다. { if (num num; isPos = IsPositive(num); // 함수 IsP..
Part 01 C++로의 전환 Chapter02 C언어 기반의 C++ 2 02-1 Chapter 02의 시작에 앞서 [문제 1] 키워드 const의 의미 키워드 const는 어떠한 의미를 갖는가? 다음 문장들을 대상으로 이를 설명해보자. 1) const int num = 10; 2) const int* ptr1 = &val1; 3) int* const ptr2 = &val2; 4) const int* const ptr3 = &val3; [문제 1 답안] const를 변수 선언 앞에 붙이면 상수가 된다. 선언 시에 const가 붙여진 변수는 일단 초기화된 후에 그 값이 변경될 수 없다. 형식 : const 자료형 변수이름 = 초기값 설명 : const를 사용하면 값을 변경할 수 없는 변수를 정의할 수 있다..