본문 바로가기

전체

(363)
[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..
[C++ 때려잡기] C++ 기초강의 5 링크드 리스트와 자료구조 2018/08/23 - [교육 노트/C++ 기초강의] - C++ 기초 강의 OT 이전에 동적할당을 배웠다 학생 관리 프로그램을 짠다고 했을때 이미 정해진 숫자의 회원을 관리할 때 User user_arr[10]; 회원의 수가 프로그램 실행 도중에 정해질 때 User* user_arr = new User[number]; 까지는 알고있을것이다. 그러나 회원의 수가 프로그램 실행 도중 계속 추가될 때, 얼만큼 들어올지 알지도 못할때 이럴때는 어떻게 해야할까?그냥 사이즈를 엄청나게 크게 잡아놓고 있어야할까? 또 동적할당 하면 되는건가? 기존의 배열을30명의 유저에서 31명으로 늘어나면 31명 배열을 만들고 기존의 30명을 복사한 뒤 1명을 추가한다. -> 수가 늘어날 때마다 다시 배열을 할당하고 복사를 수행하고..
[C++ 때려잡기] C++ 기초강의 4-advenced 정렬과 탐색 2018/08/26 - [교육 노트/C++ 기초강의] - [C++ 때려잡기] C++ 기초강의 4-1 간단한 구조체2018/08/26 - [교육 노트/C++ 기초강의] - [C++ 때려잡기] C++ 기초강의 4-2 배열과 다중배열2018/08/26 - [교육 노트/C++ 기초강의] - [C++ 때려잡기] C++ 기초강의 4-3 마침내 포인터, 포인터 기초2018/08/26 - [교육 노트/C++ 기초강의] - [C++ 때려잡기] C++ 기초강의 4-4 포인터와 배열의 상관관계, call by pointer2018/08/26 - [교육 노트/C++ 기초강의] - [C++ 때려잡기] C++ 기초강의 4-5 동적할당 정렬 (소팅) 이란 Sorting (정렬) 데이터를 특정한 조건에 따라 일정한 순서가 되도록 다..
알고리즘 시각화 사이트 visual go https://visualgo.net/ 예전에 C++ 처음 배우던 시절에 자주 보던 사이트 (특히 소팅) 알고리즘들을 시각화 해서 보여준다.
[C++ 때려잡기] C++ 기초강의 4-5 동적할당 2018/08/26 - [교육 노트/C++ 기초강의] - [C++ 때려잡기] C++ 기초강의 4-1 간단한 구조체2018/08/26 - [교육 노트/C++ 기초강의] - [C++ 때려잡기] C++ 기초강의 4-2 배열과 다중배열2018/08/26 - [교육 노트/C++ 기초강의] - [C++ 때려잡기] C++ 기초강의 4-3 마침내 포인터, 포인터 기초2018/08/26 - [교육 노트/C++ 기초강의] - [C++ 때려잡기] C++ 기초강의 4-4 포인터와 배열의 상관관계, call by pointer 한 반을 관리하는 프로그램을 만들때학생 배열을 만들것이다. 그러나 각 반마다 학생수가 달라학생수를 입력받아 배열을 만들기로 하였다 #include using namespace std; struct Stu..
[C++ 때려잡기] C++ 기초강의 4-4 포인터와 배열의 상관관계, call by pointer 2018/08/26 - [교육 노트/C++ 기초강의] - [C++ 때려잡기] C++ 기초강의 4-1 간단한 구조체2018/08/26 - [교육 노트/C++ 기초강의] - [C++ 때려잡기] C++ 기초강의 4-2 배열과 다중배열2018/08/26 - [교육 노트/C++ 기초강의] - [C++ 때려잡기] C++ 기초강의 4-3 마침내 포인터, 포인터 기초 기존에 배열의 이름에 [index] 를 붙여 해당하는 변수를 사용해왔다그러면 배열의 이름 자체는 무엇일까? 여기서 배열과 포인터의 상관관계가 나온다 1. 배열과 포인터의 상관관계 ps. 정확히는 포인터 변수도 아니고 포인터 상수라고 부르며(변경불가능) 포인터 상수도 정확한 표현은 아니지만 주소값을 가르키므로 포인터라고 생각하고 있으면 편하다. 배열의 이름..