no image
[C++] 연산자 중복
황기태 저자의 명품 C++ Programming 개정판을 읽고 학습한 내용을 정리한 포스트입니다! https://search.shopping.naver.com/book/catalog/32436115747 C++ Programming : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 연산자 중복 +기호를 사용하여 숫자 더하기, 문자 더하기 등 다양한 행위를 할 수 있는데, 동일한 연산 혹은 기호(+)를 대상(피연산자)에 따라 서로 다르 의미로 해석하는 일종의 다형성(polymorphism)이다. C++에서도 같은 이름의 함수를 여러 개 만들 수 있는 것이 함수 중복(function overloading)이라면, 피연산자에 따라 서로 다른 연산을 하도록 동일한..
2023.12.06
no image
[C++] 프렌드
황기태 저자의 명품 C++ Programming 개정판을 읽고 학습한 내용을 정리한 포스트입니다! https://search.shopping.naver.com/book/catalog/32436115747 C++ Programming : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 프렌드 클래스 내에 friend 키워드로 선언된 외부 함수를 프렌드 함수(friend function)라고 부르며, 마치 클래스의 멤버인것처럼 클래스의 모든 변수나 함수에 접근 가능하지만 ! 실질적 멤버가 아니므로 상속되지는 않는다. 필요성 & 선언 클래스 멤버 함수로는 적합하지 않지만 private, protected 멤버를 접근해야 하는 특별한 경우, 이 함수를 외부 함수로 ..
2023.12.05
no image
[C++] static 멤버
황기태 저자의 명품 C++ Programming 개정판을 읽고 학습한 내용을 정리한 포스트입니다! https://search.shopping.naver.com/book/catalog/32436115747 C++ Programming : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com static static은 변수와 함수의 생명 주기(life cycle)와 사용 범위(scope)를 지정하는 방식(storage class) 중 하나 생명 주기 프로그램이 시작할 때 생성되고 프로그램이 종료할 때 소멸 사용 범위 변수나 함수가 선언된 범위 내에서 사용. 전역(global) 혹은 지역(local)로 구분 C++에서 클래스 멤버 변수와 멤버 함수를 포함하여 모든 변수..
2023.12.05
no image
[C++] 함수 중복
황기태 저자의 명품 C++ Programming 개정판을 읽고 학습한 내용을 정리한 포스트입니다! https://search.shopping.naver.com/book/catalog/32436115747 C++ Programming : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 함수 중복 C++에서는 C와 달리 같은 이름의 함수를 여러 개 만들 수 있으며 이것을 함수 중복(function overloading)이라고 부른다. OOP 특징인 다형성의 한 예시로서 전역 함수와 멤버 함수에 모두 적용 기본 클래스와 파생 클래스 사이에도 허용 중복 함수 조건 중복된 함수들의 이름이 동일하여야 한다. 중복된 함수들은 매개 변수 타입이나 매개 변수의 개수가 달라야..
2023.12.04
no image
[C++] 복사 생성자
황기태 저자의 명품 C++ Programming 개정판을 읽고 학습한 내용을 정리한 포스트입니다! https://search.shopping.naver.com/book/catalog/32436115747 C++ Programming : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 얕은 복사와 깊은 복사 복사에는 얕은 복사(shallow copy)와 깊은 복사(deep copy)로 구분할 수 있다. 아래 그림을 통해 예시를 살펴보자. 얕은 복사의 경우 어린이만 복사하기에, 복사 후 서로 자기 것이라고 주장하는 충돌이 발생한다. 반면, 깊은 복사는 원본이 소유한 모든 것까지 복사하기에 충돌은 발생하지 않는다. 얕은 복사 객체 복사 시, 객체의 멤버를 1:1로..
2023.12.04
[C++] 참조에 의한 호출, call by reference
황기태 저자의 명품 C++ Programming 개정판을 읽고 학습한 내용을 정리한 포스트입니다! https://search.shopping.naver.com/book/catalog/32436115747 C++ Programming : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 참조에 의한 호출, call by reference 이전 게시물에서 참조&에 대해 알아보았는데 원본 변수와 참조 변수를 함께 사용하면 변수 사용이 혼란스러워지는 것은 사실이다. 참조는 C++의 새로운 인자 전달 방식인 '참조에 의한 호출'에 많이 사용된다. 함수의 매개 변수를 참조 타입으로 선언, 매개 변수가 함수를 호출 하는 쪽의 실인자를 참조(reference)하여 실인자와 ..
2023.12.04
[C++] 함수와 참조
황기태 저자의 명품 C++ Programming 개정판을 읽고 학습한 내용을 정리한 포스트입니다! https://search.shopping.naver.com/book/catalog/32436115747 C++ Programming : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 함수의 인자 전달 방식 값에 의한 호출(call by value) 값에 의한 호출은 호출하는 코드에서 넘겨주는 실인자 값이 함수의 매개 변수에 복사되어 전달되는 방식 주소에 의한 호출(call by address) 주소를 직접 포인터 타입의 매개 변수에 전달받는 방법 아래와 같이 매개 변수로 복사한 경우 변경되지 않지만, 포인터 매개 변수로 전달 시 main 스택의 m, n이 교..
2023.12.03
[백준 15489번] 파이썬 - 파스칼 삼각형
백준 15489 - 파스칼 삼각형 시간 제한 1초, 메모리 제한 512MB # 조건 파스칼 삼각형은 아래와 같은 모양으로 이루어져 있다. 양 끝을 제외한 각 수는 자신의 바로 왼쪽 위의 수와 바로 오른쪽 위의 수의 합으로 되어있다. 이때 R번째 줄, C번째 수를 위 꼭짓점으로 하는 한 변이 포함하는 수의 개수가 W인 정삼각형과 그 내부를 생각하자. 정삼각형의 변과 그 내부에 있는 수들의 합을 구하고 싶다. 예를 들면, 3번 째 줄, 1번 째 수를 꼭짓점으로 하고 한 변이 포함하는 수의 개수가 4인 정삼각형과 그 내부에 있는 수의 합은 1+(1+3)+(1+4+6)+(1+5+10+10) = 42 이다. 주어진 R, C, W에 대해서 그에 해당하는 합을 구하는 프로그램을 작성하여라. 입력 첫째 줄에 양의 정수..
2023.12.03
[백준 1339번] 파이썬 - 단어 수학
백준 1339 - 단어 수학 시간 제한 2초, 메모리 제한 256MB # 조건 민식이는 수학학원에서 단어 수학 문제를 푸는 숙제를 받았다. 단어 수학 문제는 N개의 단어로 이루어져 있으며, 각 단어는 알파벳 대문자로만 이루어져 있다. 이때, 각 알파벳 대문자를 0부터 9까지의 숫자 중 하나로 바꿔서 N개의 수를 합하는 문제이다. 같은 알파벳은 같은 숫자로 바꿔야 하며, 두 개 이상의 알파벳이 같은 숫자로 바뀌어지면 안 된다. 예를 들어, GCF + ACDEB를 계산한다고 할 때, A = 9, B = 4, C = 8, D = 6, E = 5, F = 3, G = 7로 결정한다면, 두 수의 합은 99437이 되어서 최대가 될 것이다. N개의 단어가 주어졌을 때, 그 수의 합을 최대로 만드는 프로그램을 작성하..
2023.12.02