🙌 Hello?
(C++기초플러스 6판 프로그래밍 연습 정답,솔루션) CHAPTER 06 분기 구문과 논리 연산자 p.368~370 1번~5번
1번 #include #include int main() { using namespace std; char ch; do { cout > ch; if (islower(ch)) ch = toupper(ch); else if (isupper(ch)) ch = tolower(ch); cout
C++ 정리 - 25 (함수 템플릿,템플릿의 오버로딩,템플릿 제한,명시적 특수화,구체화와 특수화,오버로딩 분석,정확한 대응과 최선의 대응)
함수 템플릿 함수 템플릿은 함수의 일반화 서술이다. 즉, 함수 템플릿은 int 형이나 double 형과 같은 구체적인 데이터형을 포괄할 수 있는 일반형으로 함수를 정의한다. 템플릿은 구체적인 데이터형 대신, 일반형으로 프로그래밍을 하게 되므로 이것을 일반화 프로그래밍(generic programming)이라고 한다. 데이터형이 매개변수에 의해 표현되므로, 템플릿을 때로는 매개변수와 데이터형(parameterized type)이라고 함. 사용 예시 //함수 템플릿 원형 template void Swap(Any &a, Any &b); //함수 템플릿 정의 template void Swap(Any &a,Any &b) { Any temp; temp=a; a=b; b=temp; } 템플릿의 오버 로딩 일반적인 오..
C++ 정리 - 24 (클래스 객체와 참조,객체,상속,참조,setf(),참조 매개변수는 언제 사용하는가?,함수가 전달된 데이터를 변경하지 않고 사용만 하는 경우,함수가 호출 함수의 데이터를 변경하는 경..
클래스 객체와 참조 일반적으로 c++는, 클래스 객체를 함수에 전달할 때 참조를 사용함 예를 들면, string,ostream,istream,ofstream,ifstream 클래스의 객체를 매개변수로 취하는 함수들에 참조 매개변수 사용 가능 또 하나의 객체 레슨 : 객체,상속,참조 상속 : 한 클래스에서 다른 클래스로 기능 전달을 가능하게 하는 c++ 언어의 기능 ostream을 기초 클래스(base class)라 하고 ofstream을 파생 클래스(derived class)라 할 때 파생 클래스는 기초 클래스의 메서드들을 상속함. 즉, ofstream 객체가 precision(),setf()등의 포맷팅 메서드와 같은 기초 클래스의 기능들을 사용 가능함. 상속의 또 한 가지 측면은, 데이터형 변환 없이 ..
C++ 정리 - 23 (참조 변수,참조 변수의 선언,함수 매개변수로서의 참조,참조의 특성,lvalue,구조체에 대한 참조,참조를 리턴할 때 주의할 점)
참조 변수 참조(reference)는 미리 정의된 어떤 변수의 실제 이름 대신 쓸 수 있는 대용 이름이다. 참조의 주된 용도는 함수의 형식 매개변수에 사용하는 것. 참조를 매개변수로 사용하면, 그 함수는 복사본 대신 원본 데이터를 가지고 작업함 참조 변수의 선언 c와 c++은 변수의 주소를 나타내기 위해 & 기호를 사용 int rats; int & rodents=rats; // rodents를 rats의 대용 이름으로 만듬 rats와 rodents는 같은 값과 같은 주소를 가지고 있음 참조는 만들 때 반드시 초기화를 해야 하고, 일단 어떤 특정 변수에 연결되면 그것을 고수해야 함 int rats=101; int & rodents=rats; int bunnies=50; rodents=bunnies; // ..
C++ 정리 - 22 (함수를 지시하는 포인터,함수 포인터의 기초,함수 포인터의 배열,c++ 인라인(inline) 함수)
함수를 지시하는 포인터 다른 함수의 주소를 매개변수로 취하는 함수 작성 가능 즉, 첫 번재 함수가 두 번째 함수를 메모리에서 찾아내 실행하도록 할 수 있다. 이 방식은 다른 시각에 다른 함수의 주소를 전달하는 것을 가능하게 만든다. 첫 번째 함수가 다른 시각에 다른 함수를 사용할 수 있다는 것을 의미 함수 포인터의 기초 1. 함수의 주소 얻기 think()가 함수라면 think는 그 함수의 주소. 함수를 매개변수로 전달하려면 함수 이름만 전달하면 됨. process(think); //think()의 주소 전달 thought(think()); // thought()에 think()의 리턴값 전달 2. 함수를 지시하는 포인터의 선언 함수를 지시하는 포인터를 선언할 때, 그 포인터가 지시하는 함수의 데이터형을..
C++ 정리 - 21 (함수와 C스타일의 문자열, 함수와 구조체,함수와 string 클래스 객체, 함수와 array 객체, 재귀호출)
함수와 C 스타일의 문자열 C 스타일 문자열을 매개변수로 사용하는 함수 -문자열을 나타내는 방법 1. char형의 배열 2. 큰따옴표로 묶은 문자열 상수 (문자열 리터럴) 3. 문자열의 주소로 설정된 char 형을 지시하는 포인터 세 가지 모두 char형을 지시하는 포인터 이므로 모두 문자열 처리 함수에 매개변수로 사용 가능함 char ghost[15]="galloping"; cout
C++ 정리 - 20 (포인터와 const, 함수와 2차원 배열)
포인터와 const const라는 키워드는 포인터에 두 가지 방법으로 사용된다. 1. 상수 객체를 지시하는 포인터를 만드는 것 2. 포인터 자신을 상수로 만드는 것 int age = 39; const int * pt = &age; *pt=20; // pt는 const int를 지시하고 있으므로 사용 불가 age=20; //age는 const로 선언되지 않았기 때문에 사용 가능 const 변수의 주소를 const를 지시하는 포인터에 대입 가능 const 변수의 주소를 일반 포인터에 대입하는 것을 불가능 const float g_earth=9.80; const float *pe=&g_earth; //사용 가능 const float g_moon=1.63; float *pm=&g_moon; //사용 불가 int..
C++ 정리 - 19 (함수의 기초, 함수 정의, 함수 원형의 구문 규칙, 함수 매개변수와 값으로 전달하기, 포인터와 배열을 처리하는 함수, 배열의 내용 출력과 const로 보호하기)
함수의 기초(복습) c++에서 함수를 사용하기 위해 필요한 직업 함수 정의 제공 함수 원형 제공 함수 호출 함수 정의 void형 함수 : 리턴 값이 없는 함수 void functionName(parameterList) { statements(s) return; //생략 가능 } parameterList는 이 함수에 전달되는 매개변수(parameter 또는 argument)의 데이터형과 개수를 지정 리턴 값이 있는 함수는 자신을 호출한 함수에게 되돌려 줄 리턴 값을 만듦 일반적인 사용 형식 typeName functionName(parameterList) { statements(s) return value; //value는 typeName 형으로 변환됨. } 정수, 부동 소수 점수, 포인터, 구조체와 객체..
C++ 정리 - 18 (텍스트 파일에 쓰기,읽기, 파일 입력)
텍스트 파일에 쓰기 파일 출력 fstream 헤더 파일을 포함시켜야 한다. fstream 헤더 파일은 출력을 처리하는 ofstream 클래스를 정의한다. 하나 이상의 ofstream 변수 또는 객체를 선언할 필요가 있다. 일반적인 이름 짓기 관례를 준수하는 한, 사용자는 원하는 이름을 지정 가능 std 이름 공간을 지정해야 함, 예를 들면, ofstream과 같은 요소들에 대해 using 지시자 또는 std:: 접두사를 사용할 수 있다. 특정 ofstream 객체와 특정 파일을 연결시킬 필요가 있다. 그렇게 하는 한 가지 방법은, open() 메서드를 사용하는 것. 파일을 다루는 작업이 끝나면, close() 메서드를 사용하여 그 파일을 닫아야 한다. ofstream 객체를 filename; fout.o..
C++ 정리 - 17 (논리합 OR 연산자 (||), 논리곱 AND 연산자, 논리부정 NOT 연산자 (!), 논리 연산자의 대체 표기, ? : 연산자, switch 구문, break와 continue 구문)
논리합 OR 연산자 (||) (expr1||expr2) 의 값 expr1==true expr1==false expr2==ture true true expr2=false false false 두 개의 표현식 중에서 적어도 어느 하나가 true 이거나 0이 아니면 전체 표현식이 true가 됨 C++에서 || 연산자는 시퀀스 포인트로 작용함 좌변에 지시된 값의 변경은 우변이 평가되기 전 일어남 ex) i++