CPP 과제를 하면서 각 과제에서 중요하게 생각한 점과 배운점을 정리하기 위해 기록을 시작한다.
프로그램에 들어온 인자들의 알파벳을 모두 대문자로 하여 출력하는 과제
cpp를 간단하게 시작해보는 과제 (like Hello World)
사용 함수
extern std::ostream cout
정확하게 함수는 아니지만 표준 입출력 스트림인 cin과 cout을 필수적으로 사용해야 한다. 사용 법만 알아도 사용하는데 큰 불편함이 없지만, cout이 어떻게 작동하는지 알고 싶어서 조금 더 공부해봤다.
표준 입출력 스트림의 계층도

계층도 istream과 ostream 부분에 istream과 ostream이 basic_istream, basic_ostream에 속한 것을 확인할 수 있고, ostream과 istream의 구체화 객체가 cin과 cout임을 확인할 수 있다.
cin과 cout 은 Console in, Concole out이다.
iomanip(입출력 조정자)에 속한 setw()와 setfill() 함수는 ex01과 ex02에서 활용하였다.
직접 iostream를 확인해보면 cin과 cout이 객체임을 코드로 확인할 수 있다.
_LIBCPP_BEGIN_NAMESPACE_STD
extern _LIBCPP_FUNC_VIS istream cin;
extern _LIBCPP_FUNC_VIS ostream cout;
extern _LIBCPP_FUNC_VIS ostream cerr;
extern _LIBCPP_FUNC_VIS ostream clog;
#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
extern _LIBCPP_FUNC_VIS wistream wcin;
extern _LIBCPP_FUNC_VIS wostream wcout;
extern _LIBCPP_FUNC_VIS wostream wcerr;
extern _LIBCPP_FUNC_VIS wostream wclog;
#endif
int std::toupper(int ch);
ch : 변환할 문자private: 클래스 내(클래스 내에 정의된 함수)에서만 접근 허용public: 프로그램의 모든 함수에서 접근 허용protected: 클래스 내의 멤버 함수와 이 클래스를 상속받는 파생 클래스의 멤버 함수에게만 접근 허용PhoneBook::PhoneBook(void) : idx(0),
cnt_contact(0) {
} ::)내부 식별자에 사용될 수 있는 유효 범위를 제공하는 선언적 영역
같은 이름을 가지고 있는 함수나 변수를 클래스나 특정 영역을 구별하기 위한 인터페이스
주어진 Account.hpp와 test.cpp (main문)을 참고하여 Account.cpp를 작성하는 것
#pragma#pragma once: 한번 컴파일 되면 더이상 컴파일 하지 않는다.
#pragma comment(lib, "ws2_23"): obj 파일에 커멘트를 남기라는 명령어
#pragma pack(n): n에 1, 2, 4, 8 등이 올 수 있으며 이는 네트워크 통신을 개발할 때 구조체 멤버들을 align하는 데 사용된다.
#pragma warning: 컴파일시에 어떤 조건(#if, #ifndef)에 의해 개발자에게 어떤 것을 알려주고 싶을 경우 사용한다.