생성일: 2022년 11월 29일 오후 11:08
최종 편집 일시: 2022년 12월 6일 오후 9:17
태그: cpp
cpp notion
객체 지향
namespace
std::cout
(네임스페이스::요쇼
)AClass::Func();
using AClass::Func();
Func();
이렇게 사용할 수 있다는 뜻인 것 같다. )using namespace std;
using namespace AClass;
std
네임스페이스 또는 네임스페이스에 선언됩니다. (?)class
member function
객체를 구현하기 위한 개념 class 에 상태(데이터)와 기능(코드)를 담을 수 있는데, 멤버 함수가 이 기능(코드)를 말한다. 맞는 말인가
stdio stream
initialization list 초기화 리스트
AClass::AClass(int x) { this→a = x ; }
AClass::AClass(int x) : a(x) {}
static
static int num = 0;
이렇게 초기화 하는 것은 불가능하다. const static 변수일때에는 const static int num = 0;
이러한 형태로 초기화가 가능하다.(객체).(멤버함수)
의 형태가 아닌 (객체)::(static함수)
형식으로 호출하게 된다.const
const int AClass::function(int *x){}
int AClass::function(const int *x){}
int AClass::function(int *x) const {}
ex00 : Megaphone
받은 매개변수를 모두 대문자로 바꾸어 출력하는 문제
std::toupper()
는 int를 반환하기 때문에 캐스팅을 해주는 것이 좋다. c스타일에서는 (char)
(명시적 형변환)로 캐스팅 해준다면 cpp스타일에서는 static_cast<char>
로 캐스팅 해줄 수 있다.static_cast
는 에러를 체크해준다. double *dptr = new double(42.42);
// int *iptr = (int *)(dptr);
int *iptr = static_cast<int *>(dptr);
std::cout << "dou : " << *dptr << std::endl;
std::cout << "(int *)" << *iptr << std::endl;
ex01 : My Awesome PhoneBook
폰북 클래스, 컨텍트 클래스 두가지 클래스를 만들고, 이를 이용하여 사용자가 ADD, SEARCH, EXIT 명령어를 입력시 적절히 동작하도록 만드는 문제
클래스이름(){}
~(클래스의 이름)
eof
(ctrl+D) 입력 시 무한루프ex02 : The Job Of Your Dreams
주어진 세가지 파일 Account.hpp, test.hpp, log 을 보고 Account.cpp를 복구하는 문제
Account( void );
다시 정의 ? 되어 있는 것은 무엇인가 ? 생성자인가?[iterator](https://learn.microsoft.com/ko-kr/cpp/standard-library/vector-class?view=msvc-170#iterator)
벡터에 있는 모든 요소를 읽거나 수정할 수 있는 임의 액세스 반복기를 제공하는 형식template <class InputIterator, class Function>
Function for_each(InputIterator first, InputIterator last, Function fn);
first
부터 last
전 까지) 원소들 각각에 대해 함수 fn
을 실행한다. 참고로 함수의 리턴값은 무시됩니다.//생성자
[19920104_091532] index:0;amount:42;created
[19920104_091532] index:1;amount:54;created
[19920104_091532] index:2;amount:957;created
[19920104_091532] index:3;amount:432;created
[19920104_091532] index:4;amount:1234;created
[19920104_091532] index:5;amount:0;created
[19920104_091532] index:6;amount:754;created
[19920104_091532] index:7;amount:16576;created
상태 출력
[19920104_091532] accounts:8;total:20049;deposits:0;withdrawals:0
[19920104_091532] index:0;amount:42;deposits:0;withdrawals:0
[19920104_091532] index:1;amount:54;deposits:0;withdrawals:0
[19920104_091532] index:2;amount:957;deposits:0;withdrawals:0
[19920104_091532] index:3;amount:432;deposits:0;withdrawals:0
[19920104_091532] index:4;amount:1234;deposits:0;withdrawals:0
[19920104_091532] index:5;amount:0;deposits:0;withdrawals:0
[19920104_091532] index:6;amount:754;deposits:0;withdrawals:0
[19920104_091532] index:7;amount:16576;deposits:0;withdrawals:0
추가입금
[19920104_091532] index:0;p_amount:42;deposit:5;amount:47;nb_deposits:1
[19920104_091532] index:1;p_amount:54;deposit:765;amount:819;nb_deposits:1
[19920104_091532] index:2;p_amount:957;deposit:564;amount:1521;nb_deposits:1
[19920104_091532] index:3;p_amount:432;deposit:2;amount:434;nb_deposits:1
[19920104_091532] index:4;p_amount:1234;deposit:87;amount:1321;nb_deposits:1
[19920104_091532] index:5;p_amount:0;deposit:23;amount:23;nb_deposits:1
[19920104_091532] index:6;p_amount:754;deposit:9;amount:763;nb_deposits:1
[19920104_091532] index:7;p_amount:16576;deposit:20;amount:16596;nb_deposits:1
상태 출력
[19920104_091532] accounts:8;total:21524;deposits:8;withdrawals:0
[19920104_091532] index:0;amount:47;deposits:1;withdrawals:0
[19920104_091532] index:1;amount:819;deposits:1;withdrawals:0
[19920104_091532] index:2;amount:1521;deposits:1;withdrawals:0
[19920104_091532] index:3;amount:434;deposits:1;withdrawals:0
[19920104_091532] index:4;amount:1321;deposits:1;withdrawals:0
[19920104_091532] index:5;amount:23;deposits:1;withdrawals:0
[19920104_091532] index:6;amount:763;deposits:1;withdrawals:0
[19920104_091532] index:7;amount:16596;deposits:1;withdrawals:0
출금
[19920104_091532] index:0;p_amount:47;withdrawal:refused
[19920104_091532] index:1;p_amount:819;withdrawal:34;amount:785;nb_withdrawals:1
[19920104_091532] index:2;p_amount:1521;withdrawal:657;amount:864;nb_withdrawals:1
[19920104_091532] index:3;p_amount:434;withdrawal:4;amount:430;nb_withdrawals:1
[19920104_091532] index:4;p_amount:1321;withdrawal:76;amount:1245;nb_withdrawals:1
[19920104_091532] index:5;p_amount:23;withdrawal:refused
[19920104_091532] index:6;p_amount:763;withdrawal:657;amount:106;nb_withdrawals:1
[19920104_091532] index:7;p_amount:16596;withdrawal:7654;amount:8942;nb_withdrawals:1
상태 출력
[19920104_091532] accounts:8;total:12442;deposits:8;withdrawals:6
[19920104_091532] index:0;amount:47;deposits:1;withdrawals:0
[19920104_091532] index:1;amount:785;deposits:1;withdrawals:1
[19920104_091532] index:2;amount:864;deposits:1;withdrawals:1
[19920104_091532] index:3;amount:430;deposits:1;withdrawals:1
[19920104_091532] index:4;amount:1245;deposits:1;withdrawals:1
[19920104_091532] index:5;amount:23;deposits:1;withdrawals:0
[19920104_091532] index:6;amount:106;deposits:1;withdrawals:1
[19920104_091532] index:7;amount:8942;deposits:1;withdrawals:1
//소멸자
[19920104_091532] index:0;amount:47;closed
[19920104_091532] index:1;amount:785;closed
[19920104_091532] index:2;amount:864;closed
[19920104_091532] index:3;amount:430;closed
[19920104_091532] index:4;amount:1245;closed
[19920104_091532] index:5;amount:23;closed
[19920104_091532] index:6;amount:106;closed
[19920104_091532] index:7;amount:8942;closed