개발 공부/C++ (20) 썸네일형 리스트형 따라하며 배우는 C++ 9. 연산자 오버로딩 따라하며 배우는 C++ 9. 연산자 오버로딩 9.1 산술 연산자 오버로딩 하기 #include using namespace std; class Cents { private: int m_cents; public: Cents(int cents = 0) {m_cents = cents; } int getCents() const { return m_cents; } int& getCents() { return m_cents; } }; Cents add(const Cents& c1, const Cents& c2) { return Cents(c1.getCents() + c2.getCents()); } int main() { Cents cents1(6); Cents cents2(8); Cents sum = add(cen.. 따라하며 배우는 C++ 8. 객체지향의 기초 따라하며 배우는 C++ 8. 객체지향의 기초 8.1 객체지향 프로그래밍과 클래스 데이터와 기능이 합쳐 있는 것을 Object라고 한다. 물론 Structure도 기능을 넣을 수 있지만, 복잡한 것을 할 때는 class가 좋다. #include using namespace std; class Freind { public: //access specifier (public, private, protected) string name; string address; int age; double height; double weight; void print() { cout 따라하며 배우는 C++ 7. 함수 따라하며 배우는 C++ 7. 함수 7.1 매개변수Parameter와 인자Argument의 구분 #include #include using namespace std; int foo(int x, int y); int foo(int x, int y) { return x + y; }//x and y are destroyed here, 지역 변수. int main() { int x = 1, y = 2; foo(6, 7); //6, 7 : arguments (actual parameters) = 실매개변수 foo(x, y + 1); return 0; } 7.2 값에 의한 전달 Passing Arguments by Value(Call by Value) #include #include using namespace st.. 따라하며 배우는 C++ 6. 행렬, 문자열, 포인터, 참조 따라하며 배우는 C++ 6. 행렬, 문자열, 포인터, 참조 6.1 배열 기초 [1 of 2] array #include using namespace std; int getInt() { int one_student_score; //1 variable int student_scores[5]; cout 따라하며 배우는 C++ 5. 흐름제어 따라하며 배우는 C++ 5. 흐름제어 5,1 제어 흐름 개요 Control flow halt(중단)에 대한 내용 exit은 디버깅할 때도 많이 쓰인다. 5.2 조건문 if if(참) //참일 경우 실행 else //거짓일 경우 실행 if나 else 다음에 {}가 없다면 한 문장 이상을 실행시킬 수 없다. if(1) //무조건 true. if문 안에선 0이 아니면 무조건 참으로 실행된다 if 간의 논리 관계가 애매한 경우는 권장하지 않는다. 중괄호를 하는 것이 좋다. if문은 프로그램을 중단시킬 때도 사용할 수 있다. 이 때 if문 다음에 ; 가 있다면 if문 조건이 어떻게 되건 그냥 if문이 끝나 버린다. 위의 경우, x에 대입이 먼저 되고 대입이 끝난 x를 if문 조건에 넣어 버린다. 5.3 switc.. 따라하며 배우는 C++ 4. 변수 범위와 더 다양한 변수형 따라하며 배우는 C++ 4. 변수 범위와 더 다양한 변수형 4.1 지역 변수, 범위Scope, 지속시간 Duration 보통 중괄호 안에 선언된 변수는, 그 중괄호가 지나면 변수가 반납되므로 중괄호 밖에선 사용할 수 없다. 같은 영역 안에 변수가 이름이 같으면 충돌이 일어난다. 함수의 경우 선언과 정의를 분리할 수 있어서 변수와 이름이 같아도 충돌이 안 난다. namespace를 따로두어 영역을 분리할 수 있다. work1::a; work1::doSomething(); work2::a; //여기서 ::은 scope resolution operator라고 부른다(영역 지정 연산자) work2::doSomething(); 4.2 전역Global 변수, 정적Static 변수, 내부 연결Internal Link.. 따라하며 배우는 C++ 3. 연산자들 따라하며 배우는 C++ 3. 연산자들 3.1 연산자 우선순위와 결합 법칙 연산자에 따라 우선순위가 다르고, 결합 방향이 달라질 수 있다. (Left to right, right to left) (^ 기호는 caret 캐럿이라고 많이 읽는다. C언어에선 제곱이 아니라 Bitwise XOR이다) 3.2 산술 연산자 arithmetic operators 단항 연산자 -, + 이항 연산자 *(곱하기) /(나누기) + - %(나머지 연산자) ex) z = x%y일 경우 0 여기서 /를 할 때, 하나만 float이면 실수형으로 결과가 나온다. * 여기서 음수를 나누기에서 사용할 경우 정수일 경우 버리는 쪽으로 11버전부터 정해졌다고 한다. -5 / 2 = -2 나머지 연산의 경우 왼쪽 숫자의 부호를 따라간다. -5.. 따라하며 배우는 C++ 2. 변수와 기본적인 자료형 따라하며 배우는 C++ 2. 변수와 기본적인 자료형 2.1 기본 자료형 소개 8 bit = 1 byte 데이터 타입마다 메모리 사용량이 다르다. 데이터 형마다 저장되는 방식도 다르다. wchar는 윈도우즈 API로 코딩할 때 사용하기도 한다. char은 문자 하나로, 문자 여러 개는 string을 사용한다(string은 정규 변수형은 아니지만 많이 사용하기에 변수형처럼 작동한다) (signed) int는 음의 정수, 0, 양의정수를, unsigned int는 양의 정수와 0을 포함한다. signed와 unsigned는 저장 방식이 다르다. 특정 연산에 따라 속도 차이가 있을 수 있다. 숫자를 저장할 때 메모리 사이즈에 따라 범위가 다르다. 가급적 작은 메모리 사이즈의 변수를 쓰다가, 큰 사이즈의 변수가 .. 따라하며 배우는 C++ 1. C++의 기초적인 사용법 따라하며 배우는 C++ 1. C++의 기초적인 사용법 1.1 프로그램의 구조 표현식 Expressions 명령문 Statements 함수 Function 컴파일러 옵션으로 main 함수 이름을 변경할 순 있지만 그러는 경우는 드물다 OS가 프로그램을 실행시킬 때 가장 먼저 main이라는 이름의 함수를 찾는다. 기능을 수행시킬 수 있는 프로그램을 만들 땐 main이 꼭 있어야 한다. 빈 칸이나 빈 줄은 컴파일러가 무시한다. 보통 int main(void)라고 넣기도 한다. (void--아무것도 없다는 뜻) int main에서 int는 출력 부분을 의미한다. main 옆의 괄호 안에는 입력 부분을 의미한다. {} 중괄호는 main 함수의 몸체 부분이다. return 0; 에서 return은 main 함수의 .. (new) 따라하며 배우는 C++ 0. 시작해봅시다 0. 시작해봅시다 0.0 C++ 꼭 공부해야 할까? 좋은 예술가는 베낀다. 위대한 예술가는 훔친다 - 피카소 편안한 마음으로 프로그래밍을 베껴서 하면 훌륭한 프로그래머가 될 수 있다. - 올바른 타이핑 방법을 연습한다 - 간단한 개념을 이해한다 : 처음부터 큰 나무를 심으려고 노력할 필요 없다. - 예제를 따라 해본다. - 문제가 생기면 해결한다. - 예제를 내 맘대로 바꿔본다. 0.1 프로그래밍 언어란? 기계어 Machine Language : 컴퓨터는 전자 기계로, 컴퓨터는 전자 회로이므로 전압의 차이로 신호를 인식한다. 즉 높다, 낮다 차이로 이것을 0과 1로 변환하여 인식을 하는 것이다. 프로그래밍 할 때는 기계어를 잘 사용하지 않는다. 하드웨어에 가까움. 어셈블리 언어 Assembly Langu.. 이전 1 2 다음