c++ 에서 class의 개념을 이해하기 위해서는 객체지향(OOP, Object Oriented Programming)이 무엇인지 알 필요가 있다. * 객체 지향 : 프로그래밍의 대상이 되는 세상의 사물과 현상 모두를 객체로 담아서 나타내는 것이다. 객체의 개념은 모든 개발자들이 해당 객체를 공통적으로 받아들일 수 있을만한 정의를 내린것이다. 특징으로는 추상화, 캡슐화, 상속, 다형성이 있다. - 추상화 : 독립적으로 표현 불가능한 추상적인 것을 구체화 시키는 행위 - 상속 : 부모의 형질을 물려받아 기능을 공유하여 코드의확장이 쉬움 - 다형성 : 한 객체가 다양한 형태를 지닐수 있으며 코드의 가독성이 좋아짐. - 캡슐화 : 논리적으로 비슷한 데이터와 기능을 묶어, 이들을 은닉하여 외부로 부터 보호가능하..
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 #include #include using namespace std; void input(int num, char *name, int *sco); void ex(int num, int *sco, float *avg); void output(..
* 다차원 포인터란? '*'이나 []의 갯수가 하나가 아닌 여러개를 가지는 변수(포인터) * 포인터 분석 순서 1. 먼저 포인터 변수를 찾아라 2. 포인터를 파악하면 포인터의 오른쪽부터 읽어라 3. 오른쪽을 읽으면 포인터의 왼쪽을 읽어라 * 포인터 코드 분석 1. 정체 파악 2. 나머지는 용도 3. 읽는 법은 이름을 기준으로 오른쪽부터 읽어야 함. 정체 파악하면 읽는거 멈춰야함. 2번 읽으면 안됨 ex1) int *p; 1. p옆은 ; 끝이므로 *로 간다. *p는 포인터 이므로 int로 간다. 2. 정체 : 포인터 3. 용도 int 타입 >> int *p는 int타입을 가진 포인터이다. ex2) int *p[3]; 1. p옆은 [3]첨자, 3개짜리 배열이다.int *로 간다. 2. 정체 : 배열 3. 용..
* 함수 중복 정의 (function overloading) 1. c++에서 오버로딩이란 같은 클래스 내에서 같은 이름의 함수를 사용하는 것을 의미한다. 즉, 사용자가 정의한 함수명을 매개 변수 리스트에 따라 단 하나의 유일한 이름의 함수명으로 결정하는 과정이다. 2. c언어에서는 같은 이름을 갖는 함수를 정의할 수가 없다. 하지만 c++에서는 특정 조건을 만족하는 경우 같은 이름을 갖는 함수를 중복해서 정의 할 수 있다. 3. 함수가 중복되도 c++ 컴파일 과정에서 단 하나의 유일한 이름의 함수로 변경되고 호출부 코드도 인자가 가장 적절한 함수로 연결된다. * 오버로딩 조건 1. 동일한 함수명을 써야함 2. 매개변수 타입이 달라야 한다. 3. 매개변수의 갯수가 달라야 한다. 4. 리턴하는 타입은 상관 ..