C++ Primer 7

클래스

● 클래스에 숨겨진 기본적인 개념은 데이터 추상화와 캡슐화이다.  ○ 데이터 추상화 : 인터페이스와 구현의 분리에 의존하는 프로그래밍(과 설계) 기법이다.    ▷ 인터페이스 :  클래스 사용자가 실행할 수 있는 연산으로 구성    ▷구현 : 클래스 데이터 멤버, 인터페이스를 구성하는 함수 본체. 일반적인 용도가 아닌 클래스를 정의하는 데 필요한 모든 함수를 포함한다.   ○ 캡슐화 : 클래스 인터페이스와 구현의 분리를 강제한다. 캡슐화한 클래스에서는 그에 대한 구현을 숨기므로 클래스 사용자는 인터페이스를 사용할 수 있을 뿐 구현 내용에는 접근할 수 없다.● 데이터 추상화와 캡슐화를 사용하는 클래스에서는 추상 데이터 타입을 정의한다.7.1 추상 데이터 타입 정의하기7.1.1 Sales_data 클래스 설..

C++ Primer 2024.07.08

함수

6.1 함수 기초● 함수 정의 : 반환 타입, 이름, 없거나 하나 이상인 매개변수 목록, 본체로 구성● 함수 본체 : 매개변수는 쉼표로 구분한 목록을 괄호로 둘러싸 지정하고 함수에서 수행하는 행동● 함수는 괄호 쌍인 호출 연산자를 통해 실행하는데, 이 연산자에서는 함수나 함수에 대한 포인터인 표현식을 취한다.● 함수 만들기   ○ 계승 :  반복문과 제귀로 만들 수 있음● 함수 호출하기  ○ 호출하는 함수의 실행을 잠시 멈추고 호출 되는 함수의 실행을 시작한다.● 매개변수와 인자  ○ 인자는 함수 매개변수에 대한  초기값이다. 인자를 평가하는 순서는 보장하지 않는다. 컴파일러에 따라 다르다.● 함수 매개변수 목록  ○ 함수 매개변수 목록은 비어있을 수는 있지만 생략 x. int func(void) {}로..

C++ Primer 2024.07.02

문장

5.1 간단한 문장● 표현문 : 표현식에 세미콜론을 붙인 것● 널 문  ○ 널 문은 세미콜론 하나이다.  ○ 널 문에는 주석을 붙인다. 그렇게 하면 의도적으로 문장을 생략했음을 알릴 수 있다.● 빠뜨리거나 관계없는 세미콜론에 주의한다.● 복합문(구역)  ○ 복합문은 일반적으로 구역이라고 하며 중괄호 쌍으로 둘러싼 일련의 문장과 선언인데 그 중괄호 쌍 안은 비어 있을 수 도 있다.  ○ 구역은 세미콜론으로 마치지 않는다.5.2 문장 유효 범위● if, switch, while, for 문과 같은 제어 구조 안에 변수를 정의할 수 있다.● 제어 구조에서 정의한 객체의 값은 해당  사용하므로 그런 변수는 반드시 초기화해야 한다.5.3 조건문5.3.1 if 문● if문에서 지정한 조건이 참인지에 따라 조건적으로..

C++ Primer 2024.06.29

표현식

4.1 기초4.1.1 기본 개념● 연산자 종류 : 단항 연산자 , 이항 연산자● 연산자와 피연산자를 하나로 묶기  ○ 우선 순위와 결합 법칙● 피연산자 변환  ○ 정수 타입 피연산자는 보통 더 큰 정수 타입을 승격한다.  ○ 정수 -> 부동소수점 O / 포인터 타입 -> 부동소수점 X● 다중 정의한 연산자  ○ 정의 : 이미 존재하고 있는 연산자 기호에 이런 식으로 다른 의미를 부여하는 것● 좌변 값과 우변 값  ○ 대입에서 왼쪽 피연산자로 (const가 아닌) 좌변 값을 쓰고 왼쪽 피연산자를 좌변 값으로 변환한다.  ○ 주소 연산자에서느 좌변 값 피연산자를 쓰고 피연산자에 대한 포인터를 우변 값으로 반환한다.  ○ 내장 역참조와 첨자 연산자, 반복자 역참조, string과 vector 첨자 연산자에서는..

C++ Primer 2024.06.26

문자열, 벡터와 배열

3.1 네임스페이스 using 선언● using 선언 : 라이브러리 이름을 참조하는 일은 다소 귀찮을 수 있다. 다행히 네임스페이스 멤버를 사용하는 더 쉽고 안전한 방법● using 선언은 이름마다 따로 해야 한다.#include using std::cin;using std::cout; using std::endl;int main() {...}● 헤더에는 using 선언을 포함하지 않는다.● 주의사항 : 예제 코드를 컴파일하기 전에 적절한 #include와 using 선언을 추가해야 한다.3.2 string 라이브러리 타입● string은 가변 길이 문자열이다.3.2.1 string 정의와 초기화 하기● 직접 초기화와 복사 초기화  ○ 복사 초기화 : =를 사용해 변수를 초기화 하면 오른쪽 피연산자인 초..

C++ Primer 2024.06.26

변수와 기본 타입

2.1 기본 내장 타입● C++에서 정의하는 기본 타입에는 산술 타입과 void라는 특별한 타입이 있다.  ○ 산술 타입 : 문자, 정수, 부울 값, 부동소수점 수 등등  ○ void 타입은 연관된 값 x, 제한된 일부 상황에서만 사용 가능2.1.1 산술 타입● 산술 타입  ○ 1. 정수 타입 :  문자와 부올울 타입 포함  ○ 2. 부동소수점 타입● 비트 수로 나타내는 산술 타입 크기는 시스템마다 다름● bool 타입 : true 와 false의 진리 값을 나타내다.● 부동소수점 타입 : 단정도, 배정도, 확장 정밀도 값을 나타낸다.● 부호 있는 타입과 부호 없는 타입  ○ bool과 확장 문자 타입을 제외한 정수 타입은 부호 있는 타입이거나 부호 없는 타입이다.    ○ 기본 문자 타입은 char, ..

C++ Primer 2024.06.25

서론

1.1 간단한 C++ 프로그램 만들기● 모든 c++은 프로그램은 하나 이상의 함수가 있는데 그중 main 함수는 반드시 하나가 있어야 한다.● 함수 정의의 네가지 요소 : 반환타입, 함수이름, 매개변수 목록, 함수 본체1.1.1 프로그램을 컴파일하고 실행하기● 프로그램 소스 파일 이름 규약   ○ 프로그램 파일 = 소스 파일   ○ 확장자 규약 : .cc, .cxx, .cpp, .cp, c 1.2 입출력 처음 살펴보기●  표준 입축력 객체    ○ cin : 포준 입력    ○ cout : 표준 출력    ○ cerr : 표준 오류    ○ clog : 프로그램 실행에 대한 일반 정보를 표시하는 데 사용#include int main() { std::cout > v1 >> v2; std::cout ..

C++ Primer 2024.06.24