C++ (40) 썸네일형 리스트형 [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 (정렬) 데이터를 특정한 조건에 따라 일정한 순서가 되도록 다.. [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. 정확히는 포인터 변수도 아니고 포인터 상수라고 부르며(변경불가능) 포인터 상수도 정확한 표현은 아니지만 주소값을 가르키므로 포인터라고 생각하고 있으면 편하다. 배열의 이름.. [C++ 때려잡기] C++ 기초강의 4-3 마침내 포인터, 포인터 기초 2018/08/26 - [교육 노트/C++ 기초강의] - [C++ 때려 잡기] C++ 기초강의 4-1 간단한 구조체2018/08/26 - [교육 노트/C++ 기초강의] - [C++ 때려 잡기] C++ 기초강의 4-2 배열과 다중배열 이번강의는 포인터이다. 포인터를 처음에는 이해하기 어려워하지만 알고 보면 어렵지않다. 1. 포인터란? 라고 한다. 아니 이게 무슨소리냐고? 포인터란한마디로 주소값을 저장하는 자료형이다 다시 말하자면 주소값을 저장하는 자료형이다또 다시 말하자면 주소값을 저장하는 자료형이다 즉 포인터는 주소값을 저장하는 자료형이다 그림으로 살펴보면 즉 여기서는 포인터가 메모리의 주소값 1004를 저장하고있는 자료형이 되는것이다.또한 그 주소에 가면 저장된 값이 int 형식이므로 int형 포인터이.. [C++ 때려잡기] C++ 기초강의 4-2 배열과 다중배열 2018/08/26 - [교육 노트/C++ 기초강의] - [C++ 때려 잡기] C++ 기초강의 4-1 간단한 구조체 배열에 관해서는 이전에 간단히 배워본적이있다. 이런식으로 배열을 만들때 메모리 관점에서 어떻게 동작하는것일까? 1. 배열의 메모리 배열은 특정 자료형 여러개를 한번에 관리하는것이다그래서 4바이트 int를 5개 만들면 20바이트를 사용하고이 5개의 int는 메모리상에서 연속되어있다. 기본적으로 메모리는 1바이트 단위로 관리되며1바이트 단위로 위치정보 (주소값)을 가지고있다. 이는 컴퓨터에서 관리하여 처음 요소가 메모리의 주소 1000번에 저장되었다면 그다음 값음 1004번에 저장되는것이다. (4바이트 이므로) 초기화를 하면 다음과같이 된다. 그럼 8바이트를 가지는 double은 어떻게 저장될.. 이전 1 2 3 4 5 다음