C++ 객체지향프로그래밍_Ch03정리

728x90

ch03. 함수와 문자열

03-1. 함수

-특정 기능 수행하여 결과값 반환하는 함수

 

[함수 정의 형식]

반환형 함수이름 (매개변수) {

//내부 작성

}

 

[함수 원형 정의]

-함수 사용하기 전에 컴파일러에게 사용할 함수 정보 알려주는 것

-내부 실행부가 없고 ;(세미콜론)만 붙여줘서 함수 원형 정의

 

반환형 함수이름 (매개변수) ;

 

[함수 매개변수에 인수 전달 방법]

(1) 값으로 호출 (call-by-value)

-인수의 값이 매개변수로 복사되어 전달

-원본 변수에는 영향 X

 

(2) 참조로 호출 (call-by-reference)

-원본 변수가 매개변수로 전달

-원본 변수 값에 영향 O (ㅇ참조자가 참조하는 원본변수의 값이 변경됨)

- C++: (포인터X) 참조자 선언하여 호출

&참조자: 원본변수에 대한 별명

ex) void modify(int &x, int &y) { ... } //인수로 받는 원본인수 대입

 

[중복함수]

-시그니처만 다르면 같은 이름의 함수 여러 개 정의 O

-시그니처: 매개변수의 개수, 타입, 순서

-다양한 대상에 대해 같은 처리 수행할 경우에 사용

 

[인라인 함수] : inline 키워드

-크기 작은 함수 호출 시 생기는 오버헤드 줄이기 위해

-컴파일러는 inline함수 에 대해서는 함수 생성 없이 호출한 위치로 해당 코드 복붙해서 전달

-해당 함수 호출 시 오버헤드가 사라져 실행 빨라짐

 

[디폴트 인수]

-인수 전달없이 호출할 경우, 기본 디폴트값으로 내부 함수 실행됨

-함수 정의할 때 매개변수에 디폴트값 주어 정의해 두면,

이후 인수없이 호출해도 디폴트값으로 실행된다.

-반드시 디폴트 인수 지정 : 왼쪽 <- 오른쪽

-디폴트 인수는 가장 마지막 인수부터 지정

03-2. 문자열

[String 클래스]

-char배열로 문자열을 처리하는 C언어와 달리,

-C++String 클래스 이용해서 문자열을 처리한다.

 

[string 객체]

-자료형의 일종으로 클래스를 사용하여 변수 정의하면 객체가 된다.

-string s; //문자열 객체 s 생성

-string s = “Hello World!”; //초기값 주면서 string객체 생성

-string s{“hello world!}; //c++11버전

 

[문자열 비교]

== : 두 문자열 동일 비교

>, < : 두 문자열 사전 순서로 비교

 

[string 클래스의 입출력]

1) cin>> str

공백 문자 입력시 입력 중단됨

2) getline(cin, str)

한 줄 단위로 내용을 읽음

3) get() 함수

한 문자씩 읽음

 

[string 클래스의 멤버함수 종류]

-객체의 멤버 함수 호출 : (.)도트 연산자 사용 호출

 

s[i] : I번째 위치의 문자 추출

size() : 문자열 길이 반환

empty(); 문자열 내부 공백 여부 -> T반환

insert(i, s2) : 문자열 속 I위치부터 s2문자열 삽입

remove(i, len) : 문자열 속 I위치부터 len길이 만큼 삭제

find(s2) : 문자열 속에서 s2문자열 시작위치 반환

find(i, s2) : 문자열 I위치부터 찾기 시작해서 s2문자열 시작위치 반환

 

 

[문자열의 배열]

-배열 요소값이 문자열로 저장되는 배열 형태

 

string list[] = { “철수”, “영희”, “호동”};

728x90

'C++, C언어 > [문법]_C++' 카테고리의 다른 글

C++_2주차_정리  (0) 2021.12.20
C++_1주차_정리  (0) 2021.12.20
C++ 객체지향프로그래밍_Ch04정리  (0) 2021.09.27
C++ 객체지향프로그래밍_Ch02정리  (0) 2021.09.13
C++ 객체지향프로그래밍_Ch01정리  (0) 2021.09.06