동적 배열 4

[C++] 73. 최종 실습 – 확장 가능한 순차 배열

[C++] 최종 실습 – 확장 가능한 순차 배열 EhNara 프로그램에서는 EhNara 클래스, 학생 공장에서 학생 개체를 보관합니다. 그리고 장소에서는 사람 개체를 보관합니다. 여기에서는 순차적으로 보관할 수 있는 확장 가능한 배열을 템플릿으로 정의합시다. 확장 가능한 배열은 저장소가 꽉 차면 내부에서 저장소의 크기를 늘려 주어 사용하는 개발자가 저장소의 크기에 신경을 쓰지 않고 사용할 수 있는 동적 배열입니다. 여기에서는 순차 보관하는 기능과, 특정 인덱스의 요소를 제거, 특정 알고리즘이 참인 인덱스를 구하는 등의 기능을 제공하는 확장 가능한 배열을 만듭시다. template class SeqArray { 먼저 저장소와 저장소의 크기, 보관 개수를 기억하고 있어야 합니다. data *base; //저..

[C++] 60. 템플릿 클래스

[C++] 템플릿 클래스 이번에는 템플릿 클래스를 알아볼게요. 템플릿 클래스는 멤버 필드의 형식이나 일부 멤버 메서드의 인수의 형식만 다르고 메서드 내부의 논리 전개가 같을 때 사용합니다. 템플릿 클래스도 템플릿 함수처럼 실제 클래스를 만들기 위한 틀일 뿐입니다. 템플릿 클래스를 정의할 때도 템플릿 형식 인자를 표현하는 tempate 부분이 필요합니다. template class 클래스명 { }; 사용하는 코드에서 템플릿 형식 인자를 구체적으로 결정하며 이에 맞게 컴파일러가 실제 클래스의 코드를 템플릿 클래스를 참고하여 만듭니다. 이러한 특징으로 템플릿 클래스의 멤버 메서드 구현 코드도 헤더 파일에 작성하세요. 클래스명 변수; 다음은 템플릿 클래스 문법을 파악하기 위한 간단한 예를 두 가지 형태로 보여 ..

Part 25. 사용자 정의 동적 배열 사용(순차 보관, 인덱스로 보관)

Part 25. 사용자 정의 동적 배열 사용(순차 보관, 인덱스로 보관) C언어 사용자 정의 동적 배열 사용, 순차 보관, 인덱스로 보관 91. 동적 배열 사용 예 – 동적 개체 정의 테스트를 위해 사용할 자료는 회원 번호와 이름을 멤버로 갖는 회원 데이터로 할게요. typedef struct _Member Member; #define MAX_NAME_LEN 20 struct _Member { int mnum; char name[MAX_NAME_LEN+1]; }; 그리고 동적으로 생성하는 함수, 소멸하는 함수, 출력하는 함수를 제공하세요. ◈ Member.h #pragma once typedef struct _Member Member; #define MAX_NAME_LEN 20 struct _Member..

Part 24. 사용자 정의 동적 배열 만들기

Part 24. 사용자 정의 동적 배열 만들기 C언어 사용자 정의 동적 배열 만들기 88. 사용자 정의 배열 개요 프로그래밍을 하다 보면 C언어에서 제공하는 형식 배열로 자료를 관리하는 것으로는 한계에 부딪힐 때가 있어요. 예를 들어 회원 관리 프로그램에서 최대 몇 명의 회원을 관리할 것인가를 개발 단계에서 결정할 수 없을 때도 많아요. 프로그램을 사용하는 사용자가 원하는 만큼 관리를 해야 할 때도 있어요. 그리고 프로그램이 알아서 자료를 관리할 공간을 늘려주면 더 좋겠죠. 이 때 동적 메모리 할당을 이용하여 프로그램을 작성하면 가능하겠죠. 이번에는 동적 메모리 할당 함수를 이용하여 확장 가능한 동적 배열 구조체와 관련 함수를 만드는 실습을 할 거예요. C언어에서 제공하는 형식 배열은 컴파일 시점에 원소..