programing

09/18 c++ 강의

말뚝_2 2014. 9. 18. 13:41

string 클래스 

c++ 표준 클래스

문자열의 크기에 따른 제약 없음

-string 클래스가 스스로 문자열 크기에 맞게 내부 버퍼를 조절한다.

문자열 복사, 비교, 수정들을 위한 다양한 함수와 연산자 제공

객체 지향적

<string> 헤더 파일에 선언

C-스트링 타입보다 다루기 쉽다.



string 변수명 ("문자열") 형태로 사용이 가능하다.

기존 c언어에서 문자열을 출력함과 동시에 선언까지 한꺼번에 해준다고 생각하면 편하다.

일일히 문자열의 버퍼 크기를 지정해줄 필요는 없지만, 배열형태로 사용이 가능하기에 그냥 이름만 붙여서 선언하면 []형태의 배열로 사용이 가능하다. 또한  

cout << "문자열" + hello + "문자열 2" ;

와 같은 형태로 hello 라는 변수명을 가진 문자열을  + 형태로 이어서 출력해주는것이 가능하다.


string 방식과 c-string 방식 두가지 방식으로 사용하는 것이 가능한데

"cin.getline(name,10,'\n');"

c- string 방식은 위와 같이 사용한다.

"getline(cin,변수명);"

string 방식은 위와 같이 사용하는데, 이떄 string 파일을 include 해주어야 한다.

객체와 클래스


객체는 상태와 행동으로 구성된다. (state , behavior)

상태에 대한 내용은 멤버 번수로 표현된다. 

행동에 대한 내용은 멤버 함수로 표현되는데, 연산 또는 기능이라고도 한다.


클래스 

-객체를 만들어내기 위해 정의된 설계도 또는 틀

-클래스는 객체가 아님. 실체도 아님.

-멤버 변수와 멤버 함수 선언.


객체

-객체는 생성될 떄 클래스의 모양을 그대로 가지고 탄생한다.

-멤버 변수와 멤버 함수로 구성된다.

-메모리에 생성되며 실체(instance)라고도 부른다.

-하나의 클래스 틀에서 찍어낸 여러 개의 객체 생성이 가능하다.

-객체들은 상호 별도의 공간에 생성된다.


같은 클래스에서 만들어졌더라도 다른 객체가 나올 수 있다. - 상세적인 값이 달라질 수 있다. (구조체의 성격)


클래스는 멤버 변수와 멤버 함수로 구성. 클래스 선언부와 구현부로 구성된다.


클래스 선언부

-class 키워드를 이용하여 클래스 선언

-멤버 변수와 멤버 함수 선언 :

멤버 함수는 원형 형태로 선언되며 클래스 선언 내에서 초기화할 수 없다.

-멤버에 대한 접근 권한 지정 :

private,public,protected중의 하나이며 기본값은 private이다. public은 다른 모든 클래스와 객체에서 멤버의 접근이 가능하다는것을 표시한다.



클래스 선언부 예

"class circle {
public : int radius; // 멤버 변수
double getArea(); //멤버 함수
};
"

클래스 구현부 예

"double circle::getArea(){
return 3.14*radius*radius
};
"