[디딤돌 C++] 55. string 클래스 흉내내기1

학생) STL에서 제공하는 string과 비슷한 역할을 하는 클래스를 만들어 보아요. 이를 통해 string 내부를 어느 정도 이해할 수 있을 거예요.

이번에는 연산자 중복 정의 문법으로 string 클래스와 비슷하게 사용할 수 있는 클래스를 만들어 보아요. 먼저 여기에서 구현할 범위를 정하기 위해 string 클래스를 사용하는 기본적인 사항을 확인하고 넘어갈게요.

string 형식은 기본 생성 및 문자열을 입력 인자로 받는 생성을 할 수 있어요.

string 형식은 비교 연산(==, !=, >, >=, <, <=)을 사용할 수 있어요.

string 형식은 대입 연산(=)이 가능하고 개체 출력을 할 수 있어요.

string 내부에 문자열을 보관한 버퍼의 위치를 알 수 있어요.

string 형식은 cin을 이용하여 입력받는 것이 가능해요.

다음은 string 형식을 사용한 예제 코드입니다.

#include <string> 부분을 지우고 #include “mystring.h”로 변경한 후에 컴파일 오류가 없게 string 클래스를 정의하세요. using 구문도 using std::cout; using std::endl; using std::cin; 으로 수정하세요.

그리고 컴파일 오류를 하나 하나 지우면 다음과 같은 형태로 작성할 수 있을 거예요.

friend는 private으로 접근 지정한 멤버에 접근할 수 있게 하는 문법으로 정보 은닉을 무너트려 신뢰성을 떨어트릴 수 있는 문법입니다. friend 문법을 사용할 때는 매우 신중하게 사용하시고 다른 방법이 있다면 가급적 사용하지 마세요. 그리고 friend로 메서드를 지정하였을 때 이는 멤버 메서드가 아니라 전역 메서드이며 자신에 정의한 멤버에 접근하는 것을 허용하겠다는 약속일 뿐입니다.

현재 컴파일 오류를 해결한 상태로 구체적인 구현을 하지 않은 상태의 코드는 다음과 같습니다.

사용하는 코드는 다음과 같습니다.

이제 컴파일 오류를 하나 하나 해결하면서 STL에서 제공하는 string과 같은 형태로 동작하게 구현해 보세요.


[C++ 무료 동영상 강의] 55~56 string 클래스 흉내내기