본문 바로가기
Programming/열혈 C++ 프로그래밍(저자 윤성우)

Ch 12. String 클래스의 디자인

by minjunkim.dev 2020. 8. 17.

    모든 내용은 [윤성우 저, "열혈 C++ 프로그래밍", 오렌지미디어] 를 기반으로 제 나름대로 이해하여 정리한 것입니다. 다소 부정확한 내용이 있을수도 있으니 이를 유념하고 봐주세요!


# 표준 string 클래스

- 문자열의 처리를 목적으로 정의된 클래스

- 이 클래스의 사용을 위해서는 헤더파일 <string>을 포함해야 함

 

# 표준 string 클래스의 분석

1) 문자열을 인자로 전달받는 생성자의 정의

string str="I like string class";
/* 동치 */
string str("I like string class");

2) 생성자, 소멸자, 복사 생성자 그리고 대입 연산자의 정의

- 저장하고자 하는 문자열의 길이가 일정치 않으므로, 문자열의 저장을 위한 메모리 공간을 생성자 내에서 동적 할당해야 하고,

- 이로 인해 소멸자를 정의해야 하며,

- 깊은 복사를 하는 복사 생성자와 대입 연산자까지 함께 정의

3) 결합된 문자열로 초기화된 객체를 반환하는 + 연산자의 오버로딩

4) 문자열을 덧붙이는 += 연산자의 오버로딩

5) 내용비교를 진행하는 == 연산자의 오버로딩

6) 콘솔입출력이 가능하도록 <<, >> 연산자의 오버로딩


 

[출처] : 윤성우 저, "열혈 C++ 프로그래밍", 오렌지미디어