본문 바로가기
C++

string 클래스 디자인

by 상레알 2009. 2. 16.

표준 string 클래스

C++ 표준 라이브러리에는 string이라는 이름의 클래스가 정의되어 있다. 클래스의 이름이 의미하는것처럼 문자열 처리를 쉽게 할 수 있도록 도움을 주기 위해 정의된 클래스이다. 이 클래스를 사용하기 위해서는 헤더파일 string을 포함해야 한다.
#include <string.h>

string 클래스 역시 이름공간 std내에 선언되어 있다.   따라서 이름공간에 대한 언을 미리 해야한다.
using std::string;

string 클래스의 특징;

1. 생성자, 소멸자, 복사 생성자 그리고 대입 연산자를 정의해야 한다.
- string 클래스는 문자열을 저장하기 위한 용도의 클래스이다. 그런대 저장하고자 하는 문자열의 길이가 일정치 않다. 따라서 우리는 문자열을 저장할 배열을 생성자 내에서 동적 할당하는 형태를 취하기로 한다.

2. 문자열을 인자로 전달받는 생성자를 정의해야 한다.

-  string str1 ="Good"   ==> 묵시적 변환.... string str1("Good");

3. + 연산자를 오버로딩해야 한다.

4. << 연산자를 오버로딩해야 한다.

5. += 연산자를 오버로딩해야 한다.

6. 내용비교를 하도록 == 연산자를 오버로딩해야한다.

오버로딩시 주의할점은 객체가 지니는 문자열 포인터 값을 비교하는 것이 아니라, 포인터가 가리키는 문자열의  내용비교가
이루어 져아한다.

7. >>연산자를 오버로딩해야한다.

키보드로부터 데이터를 입력받는데 있어서 >> 연산자이다. 이러한 형태의 연산이 가능하도록 적절이 오버로딩해야 한다.




'C++' 카테고리의 다른 글

C++ 예외 처리  (0) 2009.02.18
use of class template requires template argument list ->컴파일 에러  (0) 2009.02.18
클래스 템플릿!  (0) 2009.02.18
함수 템플릿!!!  (0) 2009.02.17
임시 객체에 대하여....  (0) 2009.02.16
oop 프로젝트 8단계 중...  (0) 2009.02.12
배열의 인덱스 연산자 오버로딩  (0) 2009.02.10
cout / cin / endl 에 대하여...  (0) 2009.02.10
단항 연산자의 오버로딩  (0) 2009.02.09
연산자 오버로딩  (0) 2009.02.06