본문 바로가기

교육 노트/C++ 심화강의

(15)
[C++ 때려잡기] C++ 심화강의 7 inline 함수 2018/08/27 - [교육 노트/C++ 심화강의] - [C++ 때려잡기] C++ 심화강의 1 객체 지향 프로그래밍과 클래스2018/08/27 - [교육 노트/C++ 심화강의] - [C++ 때려잡기] C++ 심화강의 2 접근 한정자2018/08/27 - [교육 노트/C++ 심화강의] - [C++ 때려잡기] C++ 심화강의 3 생성자와 소멸자2018/08/29 - [교육 노트/C++ 심화강의] - [C++ 때려잡기] C++ 심화강의 4 복사 생성자와 깊은 복사2018/08/29 - [교육 노트/C++ 심화강의] - [C++ 때려잡기] C++ 심화강의 5 this 포인터2018/08/29 - [교육 노트/C++ 심화강의] - [C++ 때려잡기] C++ 심화강의 6 Class 선언과 정의 this 포인터를 ..
[C++ 때려잡기] C++ 심화강의 6 Class 선언과 정의 2018/08/27 - [교육 노트/C++ 심화강의] - [C++ 때려잡기] C++ 심화강의 1 객체 지향 프로그래밍과 클래스2018/08/27 - [교육 노트/C++ 심화강의] - [C++ 때려잡기] C++ 심화강의 2 접근 한정자2018/08/27 - [교육 노트/C++ 심화강의] - [C++ 때려잡기] C++ 심화강의 3 생성자와 소멸자2018/08/29 - [교육 노트/C++ 심화강의] - [C++ 때려잡기] C++ 심화강의 4 복사 생성자와 깊은 복사2018/08/29 - [교육 노트/C++ 심화강의] - [C++ 때려잡기] C++ 심화강의 5 this 포인터기초 강의에서 함수가 길어지면 h와 cpp파일로 분리하였다.똑같이 클래스도 클래스 선언와 함수 정의부분을 h와 cpp로 분리하여 사용한다...
[C++ 때려잡기] C++ 심화강의 5 this 포인터 2018/08/27 - [교육 노트/C++ 심화강의] - [C++ 때려잡기] C++ 심화강의 1 객체 지향 프로그래밍과 클래스2018/08/27 - [교육 노트/C++ 심화강의] - [C++ 때려잡기] C++ 심화강의 2 접근 한정자2018/08/27 - [교육 노트/C++ 심화강의] - [C++ 때려잡기] C++ 심화강의 3 생성자와 소멸자2018/08/29 - [교육 노트/C++ 심화강의] - [C++ 때려잡기] C++ 심화강의 4 복사 생성자와 깊은 복사 캐릭터 클래스에 hp를 설정하는 setHp를 다시 만들었다고 해보자 void setHp(int _hp) { hp = _hp; }이런식으로 구현하였다. hp = _hp는 내 클래스의 맴버 변수 hp 를 파라미터로 받은 _hp 로 설정하는것이다.근데 ..
[C++ 때려잡기] C++ 심화강의 4 복사 생성자와 깊은 복사 2018/08/27 - [교육 노트/C++ 심화강의] - [C++ 때려잡기] C++ 심화강의 1 객체 지향 프로그래밍과 클래스2018/08/27 - [교육 노트/C++ 심화강의] - [C++ 때려잡기] C++ 심화강의 2 접근 한정자2018/08/27 - [교육 노트/C++ 심화강의] - [C++ 때려잡기] C++ 심화강의 3 생성자와 소멸자 이전 강의에서 생성자를 배웠다.특히 생성자에서 파라미터를 받아 객체를 생성하면서 각종 초기화 과정을 진행 해 줄 수 있었는데생성자에서는 복사생성자라는 특수한 생성자가 하나 존재한다. 1. 복사 생성자자기 자신과 같은 형태의 객체를 인자로 받을수 있는 생성자를 복사생성자라고 한다. 복사 생성자는 같은 클래스를 인자로 받는 생성자이며 대부분 인자로 받은 클래스의 내용을..
[C++ 때려잡기] C++ 심화강의 3 생성자와 소멸자 2018/08/27 - [교육 노트/C++ 심화강의] - [C++ 때려잡기] C++ 심화강의 1 객체 지향 프로그래밍과 클래스2018/08/27 - [교육 노트/C++ 심화강의] - [C++ 때려잡기] C++ 심화강의 2 접근 한정자 앞선 강의에서 getter setter을 통하여 public에 있는 hp를 컨트롤 했다. 그런데 hp는 아무리 생각해도 만들어 질때를 제외하고 다시 setter를 사용해서 set할 필요는 없을것 같다. 어차피 아이템을 먹거나 몬스터에게 맞거나하면 obtainItem이나 hit 과같은 함수를 호출하면 알아서 조절될것 이기 때문이다. 처음에 고거 하나 하자고 set을 사용할 필요는 없다고 생각해우선 지워버렸다. 그럼 이제 hp를처음에 어떻게 초기화 시켜줘야 하는가? 1. 생성자..
[C++ 때려잡기] C++ 심화강의 2 접근 한정자 2018/08/27 - [교육 노트/C++ 심화강의] - [C++ 때려잡기] C++ 심화강의 1 객체 지향 프로그래밍과 클래스 추후에 설명한다고 접근한정자를 설명하겠다. 1 접근 한정자클래스내의 변수나 함수에 대한 접근 범위를 설정한다. (접근 제한자, 접근 지정자 라고도 한다) 요것이 무슨의미나 하믄 이전에 만든 캐릭터 클래스를 살펴보자 class Character{public: int hp; int speed; string name; void move(int dir); void jump(); void hit();}; 이렇게 되어있고 main에서mario.name,mario.jump(); 등으로 사용하였다. 기능을 추가하여 아이템을 먹으면 speed를 빨라지게 해보자 class Character{pub..
[C++ 때려잡기] C++ 심화강의 1 객체 지향 프로그래밍과 클래스 지금까지 C++의 기본적인 문법들을 배웠다.그러나 지금까지 배운 C++ 은 C++ 문법을 사용했다 뿐이지 사실상 C방식과 더 가깝다 C++ 의 처음 이름은 C with classes 라는 뜻으로 C 에 class라는 개념을 추가한것이다. 즉 class를 배우지 않으면 C++을 배운것이 아니다. 심화 강의부터는 Class, OOP등을 강의하도록 하겠다. 1. 객체 지향 프로그래밍 (object oriented programming), OOP 지금까지 배운 프로그래밍 방식은 절차지향 프로그래밍으로각종 변수와 구조체등을 모듈화된 함수등을 사용하여 특정 절차를 거치도록하여 프로그램을 구성하였다. 그러나 프로그램이 커지면서 해당방식으로 프로그래밍 하는것이 힘들어졌고C++ 의 창시자 비야네 스트롭스트룹 님께서 Si..