목록프로그래밍 (26)
삶의 공유
출저 : 책, 전문가를 위한 C++ 함수 규모가 어느 정도 큰 프로그램에서 코드를 모두 main()안에 담으면 관리하기 힘들어진다. 프로그램의 가독성을 높이려면 함수 단위로 간결하게 나눠서 작성해야 한다. C++에서 함수를 사용하려면 반드시 사용하려는 위치보다 앞에서 선언해야 한다. 특정한 파일 안에서만 사용할 함수는 선언과 구현(정의) 모두 소스 파일 안에 작성한다. 반면 함수를 다른 모듈이나 파일에서도 사용해야 한다면 그 함 수는 헤더 파일에 작성하고 구현은 소스파일에 작성한다. ※ 함수를 선언하는 문장을 함수 프로토타입 또는 함수 헤더라 부른다. 함수의 구체적인 내용은 보지 않고, 그 함수에 접근하는 방식만 표현한다는 의미가 강하다. 또한 함수의 리턴 타입을 제외한 함수 이름, 매개변수 목록을 함수..
출저 : 책, 전문가를 위한 C++ 조건문을 사용하면 어떤 값이 참 또는 거짓인지에 따라 주어진코드를 실행할지 결정할 수 있다. C++ 에서 지원하는 조건문 중에서도 대표적인 세 가지 구문인 if/else문, switch문, 조건 연산자를 소개 한다. 1) if/else문 가장 흔히 사용하는 조건문은 if문이며, else문과 함께 쓸수 있다. if문에 나온 조건이 참이면 if문에 속한 코드를 실행한다. 조건이 참이 아니면 if 블록을 빠져나와 그 뒤에 나오는 문장을 실항하거나, else문이 명시돼 있다면 else문에 속한 코드를 실행한다. if(i > 4) { // 뭔가 작업한다. } else if ( i > 2) { // 다른 일을 한다. } else { // 다른 일을 한다. } if 문 뒤에 소괄호..
출저 : 책, 전문가를 위한 C++ 변수이 값을 변경 할수 없다면 변수를 사용할 이유가 없다. 다음 표는 C++에서 변수값 변경 용도로 가장 흔히 사용되는 연산자와 사용예를 보여주고 있다. C++연산자는 이항(바이너리) 연산자, 단항(유너리) 연산자, 삼항(터너리) 연산자로 분류 할 수 있다. 다음 코드는 가장 자주 사용 되는 변수 타입과 연산자를 사용하는 예를 보여주고 있다. #include using namespace std; int main() { int someInteger = 256; short someShort; long someLong; float someFloat; double someDouble; someInteger++; // 257 someInteger *= 2; // 514 some..
출저 : 책, 전문가를 위한 C++ 리터럴(literal)은 표시한 숫자나 스트링과 같은 값을 의미한다. C++는 다양한 표준 라이브러리를 제공한다. 숫자(123)는 다음과 같은 리터럴로 표현 할 수 있다. 십진수 리터럴 : 123 8진수 리터럴 : 0173 16진수 리터럴 : 0x7B 이진수 리터럴 : 0b1111011 부동 소수 값 (예, 3.14f) 배정도 부동 소수점 값(예, 3.14) 단일 문자(예 : 'a') '0'으로 끝나는 문자 배열(예 : "character array") 숫자 리터럴에서는 자릿수 구분자를 사용 할 수 있다. 자릿수 구분자는 작은 따옴표로 표현한다. 23'456'789 0.123'456f 변수는 코드 안 어디에서나 선언할 수 있으며, 현재 블록 안에서 변수를 선언한 줄 다..
프로그래밍언어의 공식 예제 "Hello, World' 간단한 C++코드를 살펴보자 이코드를 실행하면 화면에 'Hello World'란 메시지를 출현한다. 여기에 C++형식에 대한 다음과 같은 중요한 개념이 담겨 있다. 1) 주석 2) 전처리 지시자 3) main() 함수 4) I/O 스트림 // helloworld.cpp #include int main() { std::cout
Summary) 정적 결합 : 가리키고 있는 타입이 아니라 스스로, 변수(객체)의 타입만 보고 어떤 함수로 갈지를 결정 한 것이다. 이렇게 객체의 타입만 보고 가는 것을 정적 결합이라고 한다. 다시 얘기하면 컴파일 타임에 어떤 것을 호출할지 이미 결정하는 것을 정적 결합 예 ) 함수 오버로딩 동적 결합 런타임 바인딩, 즉 런타임 도중에 타입이 결정되는 것을 동적 바인딩이라고 한다. 예 ) 함수 오버라이딩 오버로딩에 대해 알아보자. #include using namespace std; class A { public: int num; }; class B : public A { }; A operator+(const A& x, const A& y) { A a; a.num = x.num + y.num; retur..