출처 :
- 명품 C++ Programming (저자 황기태)
- 객체지향프로그래밍 (윤영 교수님)
주석문
- 개발자가 붙인 메모, 프로그램에 대한 설명
- 프로그램의 실행에 영향을 미치지 않음
- /* 여러 줄 주석 *
- // 한 줄 주석
#include <iostream>
#include
- 전처리기 C++ preprocessor에게 내리는 지시
- 컴파일 전에 실행
<iostream> 헤더 파일
- 컴파일러가 설치된 폴더에서 찾으라는 지시
- 표준 입출력을 위한 클래스와 객체, 변수 등이 선언 코드로 정의되어 있지 않음!
- 확장자 없는 텍스트 파일
- include 폴더에 존재
*표준 C++에서 헤더 파일은 확장자 없음, 이름 공간 적시 필요
main() 함수
- 프로그램의 실행을 시작하는 함수
- 운영 체제 OS가 main() 함수 실행
- main()이 종료하면 프로그램 종료
- 반환값은 운영 체제 OS로 반환
- int main() { // 코드 return 0; }
헤더 파일과 라이브러리
- 헤더 파일 - 클래스 선언만!
- 라이브러리 - 클래스 정의, 목적 코드의 모음
화면 출력
cout 객체
- 스크린 출력 장치에 연결된 표준 c++ 출력 스트림 객체
- std:: 이름 공간에 선언
<< 연산자
- 스트림 삽입 연산자 stream insertion operator
- c++ 기본 산술 시프트 연산자가 재정의됨
- 오른쪽 피연자를 왼쪽 스트림 객체에 삽입
- cout 객체에 연결된 화면에 출력
- 문자열 및 기본 타입의 데이터 출력
- 함수 호출 가능
- 줄 바꿈은 “\n” 또는 std::endl
키 입력
cin 객체
- 표준 입력 장치인 키보를 연결하는 C++ 입력 스트림 객체
- 입력 버퍼 내장
- <Enter> 키가 입력될 때까지 입력된 키를 입력 버퍼에 저장
>> 연산자
- 스트림 추출 연산자 stream extraction operator
- 입력 스트림에서 값을 읽어 변수에 저장
- <Enter> 키가 입력되면 cin의 입력 버퍼에서 키 값을 읽어 변수에 전달
이름 공간 namespace
- 이름 identifier 충돌 해결
- 개발자가 자신만의 이름 공간을 생성 가능
- using 지시어로 std:: 생략 가능
// std 이름 공간에 선언된 모든 이름에 std:: 생략
using namespace std;
// cout에 대해서만 std:: 생략
using std::cout;
변수 선언
- 실행문 중간에도 변수 선언 가능
- 장점 - 직전 선언으로 변수 이름에 대한 타이핑 오류 감소
- 단점 - 선언된 변수를 일괄적으로 보기 힘듦
문자열
C-스트링 방식
- “\0”로 끝나는 문자 배열
char name1[6] = {'H','E','L','L','O','\\0'};
// '\\0'이 없으면 단순 문자 배열, 있으면 문자열
- C언어의 함수 사용 가능 - strcmp(), strlen(), strcpy()
- <ctring> 이 표준 헤더 파일
입력
#include <iostream>
using namespace std;
int main() {
// 마지막 칸은 '\\0'이 들어간다.
// 한글은 5글자, 영문은 10글자까지 저장간으
char name[11];
cin >> name;
return 0;
}
int main() {
char password[11];
cout << "프로그램을 종료하려면 암호를 입력하세요." << endl;
while(true) {
cout << "암호>>";
cin >> password;
if(strcmp(password, "C++") == 0) {
cout << "프로그램을 정상 종료합니다." << endl;
break;
} else
cout << "암호가 틀립니다" << endl;
}
}
공백 문자열 입력
cin.getline(char buf[], int size, char delimitChar)
char address[100];
// 최대 99개의 문자를 읽어 address 배열에 저장, <Enter>키를 만나면 입력 중단
cin.getline(address, 100, '\\n');
- buf - 최대 size-1개의 문자 입력. 끝에 ‘\0’ 붙임
- delimitChar를 만나면 입력 중단. 끝에 ‘\0’ 붙임
string 클래스 이용
- C++ 표준 클래스
- 문자열의 크기에 따른 제약 없음 - 스스로 크기에 맞게 내부 버퍼 조절
- 객체 지향적
'[전공]' 카테고리의 다른 글
[명품 C++] 05 함수와 참조, 복사 생성자 (6) | 2022.06.05 |
---|---|
[명품 C++] 04 객체 포인터와 객체 배열, 객체의 동적 생성 (0) | 2022.06.02 |
[명품 C++] 03 - 2 생성자 소멸자 구조체 (0) | 2022.06.02 |
[명품 C++] 03 클래스와 객체 (0) | 2022.06.02 |
[명품 C++] 01 C++ 시작 (0) | 2022.06.02 |