본문 바로가기

프로그래밍/C++ language

(8)
10. 객체 지향(object-oriented) 개념 10.2 string class - 문자열 처리는 배열에 '\0'을 사용하는 C-문자열 또는 string클래스로 가능함 - string class를 쓰는 것이 프로그래밍하기 편함 - 문자열 추가 함수 : append - 문자열 대입 함수 : assign - at, clear, erase, empty // 검색, 제거, 삭제, 비었는지 확인 - length, size, capacity, c_str // 길이, 크기, 용량, c-문자열로 반환 - 문자열 비교 : compare - 부문 문자열 : substr - 문자열 검색 : find - 문자열 삽입 및 교체 : insert, replace - 문자열 연산자 사용가능 ex) =, +등 ex1) string s1 = "Welcome"; //argument없이..
9. 객체(object)와 클래스(class) 9.2 객체(object)와 클래스(class) 정의 - 객체지향 프로그래밍(Object-Oriented Programming)에서는 객체(object)를 사용함 - 명확하게 구별되는 실제세계의 개체(요소)임 ex)책상, 원, 버튼 등 - 이러한 요소를 만들어 내기 위해 정의된 틀이 있음, 그것이 class임, 즉 객체 생성을 위한 설계도 - class에는 객체가 가지는 데이터 필드, 생성자 함수, 객체 함수에 대한 것이 정의되어 있음 - 함수와 데이터필드를 객체의 member라고 함 ex) class Circle{ //프로그래머가 만든 클래스는 첫분자 대문자 public: //공용으로 쓸 수 있음을 의미 double radius; // 객체의 데이터 필드 Circle(){ radius = 1; } //..
7, 8. 1차원 Array, C-문자열, 다차원 Array 7.6 함수에서 배열 인수 보호 - 함수로 배열이 전달될 때, 배열이 변경 불가능하도록 하기 위해 const키워드를 쓸 수 있음 - const로 받은 배열을 함수 내에서 또 다른 함수로 전달 할 때는, 똑같이 const를 써주어야 함 ex) void p(const int list[] int arraySize){ ... f(list, size); } void f2(const int list[] int size){ ... } //함수 p가 const를 받았으므로, 함수 f도 const로 받아야함 7.11 C-문자열 - C-문자열이란, 문자열의 끝이 '\0'로 끝나는 배열을 말함 - cin, cout을 이용하여 입출력가능 - strcpy, strncpy로 문자열 복사 - strcat, strncat로 문자열 ..
6. 함수(function) - 함수는 코드를 재사용하고, 조직화하고 간략화 하기위해 사용함 6.3 함수 호출 - 함수는 호출 될 때마다 argument와 variable을 저장하는 activation record(= activate frame)을 생성하고, 그것을 call stack에 저장함 - main함수가 max함수를 호출했다면, main함수의 activation recore가 stack에 저장되고, 그 위에 max함수의 것이 저장됨 (LIFO구조) 6.7 함수 오버로딩(function overloading) - 함수 이름은 같지만, 매개변수가 다른 함수를 작성하는 것(반환유형만 다른경우x) - 실행시 오버로딩된 함수들 중 가장 가까운 함수를 호출함 - 두 함수중 어느것을 호출해야할지 compiler가 결정하지 못할 경우 am..
4. 수학함수, 문자, 문자열 4.2 수학함수 - header는 다양한 수학함수를 포함하고 있음 - sin, cos, tan, asin, acos, atan //삼각함수 - exp, log, log10, pow, sqrt //지수함수 - ceil, floor //올림, 내림 - min, max, abs 4.6 문자함수 - header는 문자를 테스트하고 변환하는 함수를 포함하고 있음 - isdigit, isapha, isalnum, is lower, isupper, isspace, tolower, toupper 4.8 string형 - string형은 primitive type이 아닌 object type이며, 문자열을 표현함 - string object를 생성하기 위한 class는 header에 정의되어 있음 - instance f..
3. 선택문(if, else ~ switch) 3.6 일반적인 오류와 위험 요소 오류 6. 두 실수의 동일성 검사 - 실수연산의 경우 제한된 정밀도를 가지므로, 정확한 값과 비교했을 때 동일한 값이 나오지 않음 - 따라서, 정확한 값과 매우 유사한지 여부를 따짐 ex) double x = 0.6 - 0.1; if(x == 0.5){ cout
2. 기본 프로그래밍(basic programming) 2.2 간단한 프로그램 작성 ex) #include // 표준입출력header using namespace std; // 네임스페이스를 표준으로 int main{ ... } 2.3 키보드로 값 읽기 - cout으로 콘솔출력을, cin으로 콘솔입력을 구현할 수 있음 - 은 각각 stream extraction/insertion operator, 방향은 데이터의 흐름을 나타냄 ex) e int area, height; cin >> area >> height; // cin은 console input cout
About C++ language bulletin board Y.Daniel Liang의 Inroduction to Programming with C++, 3th edition의 내용을 요약하여 정리하였습니다. C언어와 동일한 내용은 생략하였습니다. http://www.yes24.com/Product/Goods/30734907 C++로 시작하는 객체지향 프로그래밍 - YES24 『C++로 시작하는 객체지향 프로그래밍, 제3판(Introduction to Programming with C++, 3/e)』은 제2판의 많은 부분이 개선되었다. 주요 개선 사항은 다음과 같다.■ 명확성, 소개, 구성, 예제, 실습 능력을 향 www.yes24.com