no image
[C++] 가상 함수와 오버라이딩
황기태 저자의 명품 C++ Programming 개정판을 읽고 학습한 내용을 정리한 포스트입니다! https://search.shopping.naver.com/book/catalog/32436115747 C++ Programming : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 상속 관계에서의 함수 재정의 c++에서는 파생 클래스에 기본 클래스의 멤버 함수와 동일한 이름과 원형으로 함수를 재정의(redefine)하여 사용할 수 있다. 아래와 같이 함수 재정의를 해준 뒤 호출해보자. #include using namespace std; class Base { public: void f() { cout Base::f(); // Base의 멤버 f() 호출 ..
2023.12.18
[백준 3079번] 파이썬 - 입국심사
백준 3079 - 입국심사 시간 제한 1초, 메모리 제한 128MB # 조건 상근이와 친구들은 오스트레일리아로 여행을 떠났다. 상근이와 친구들은 총 M명이고, 지금 공항에서 한 줄로 서서 입국심사를 기다리고 있다. 입국심사대는 총 N개가 있다. 각 입국심사관이 심사를 하는데 걸리는 시간은 사람마다 모두 다르다. k번 심사대에 앉아있는 심사관이 한 명을 심사를 하는데 드는 시간은 Tk이다. 가장 처음에 모든 심사대는 비어있고, 심사를 할 준비를 모두 끝냈다. 상근이와 친구들은 비행기 하나를 전세내고 놀러갔기 때문에, 지금 심사를 기다리고 있는 사람은 모두 상근이와 친구들이다. 한 심사대에서는 한 번에 한 사람만 심사를 할 수 있다. 가장 앞에 서 있는 사람은 비어있는 심사대가 보이면 거기로 가서 심사를 받..
2023.12.15
no image
[C++] 다중 상속과 가상 상속
황기태 저자의 명품 C++ Programming 개정판을 읽고 학습한 내용을 정리한 포스트입니다! https://search.shopping.naver.com/book/catalog/32436115747 C++ Programming : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 요즘 시대는 융합 혹은 컨버전스(convergence)의 시대이다. 무선 전화기와 MP3의 기능을합친 제품들처럼 각 기능을 모듈화하고 여러 모듈을 조립하면 융합된 새로운 형태의 제품이 만들어진다. SW의 경우에도 다르지 않다. 모듈화를 통해 코드를 재사용하는 것이 대세이며, C++에서는 코드를 클래스로 모듈화하고 상속을 통해 기능을 확장한다. 다중 상속 하나의 파생 클래스가 여러..
2023.12.15
no image
[C++] public, protected, private 상속
황기태 저자의 명품 C++ Programming 개정판을 읽고 학습한 내용을 정리한 포스트입니다! https://search.shopping.naver.com/book/catalog/32436115747 C++ Programming : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 클래스 상속 지금까지는 기본 클래스의 멤버들이 파생 클래스의 멤버로 확장될 때, public 상속에 대해서만 다루었다. 'public 상속'을 사용하면 Base에 선언된 멤버들은 접근 지정을 그대로 유지한 채 Derived의 멤버로 확장된다. class Derived : public Base { ... }; 하지만, 'private 상속' 이나 'protected 상속'은 기본 ..
2023.12.14
no image
[C++] 상속과 생성자, 소멸자
황기태 저자의 명품 C++ Programming 개정판을 읽고 학습한 내용을 정리한 포스트입니다! https://search.shopping.naver.com/book/catalog/32436115747 C++ Programming : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 파생 클래스와 기본 클래스의 생성자 호출 및 실행 관계 파생 클래스와 기본 클래스는 각각 생성자를 가지고 있다. 이 때 아래 2가지 질문을 살펴보자 1. 파생 클래스의 객체가 생성될 때 파생 클래스의 생성자와 기본 클래스의 생서자가 모두 실행되는가? 아니면 파생 클래스의 생성자만 실행되는가? 둘 다 실행된다. 생성자는 객체를 초기화할 목적으로 사용되므로, 파생 클래스의 생성자는 ..
2023.12.14
no image
[C++] protected 접근 지정
황기태 저자의 명품 C++ Programming 개정판을 읽고 학습한 내용을 정리한 포스트입니다! https://search.shopping.naver.com/book/catalog/32436115747 C++ Programming : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com Protected 접근 지정 C++의 멤버에 대한 접근 지정자는 private, public, protected 3가지가 존재하며, 이 중에 반드시 하나로 지정되어야 한다. 이번 글에서는 protected에 집중하여 알아보자. 우선 멤버의 접근 지정에 따라 접근 가능 여부를 나타내었다. private 멤버 protected 멤버 public 멤버 멤버를 선언한 클래스 O O O ..
2023.12.14
no image
[C++] 상속과 객체 포인터
황기태 저자의 명품 C++ Programming 개정판을 읽고 학습한 내용을 정리한 포스트입니다! https://search.shopping.naver.com/book/catalog/32436115747 C++ Programming : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 파생 클래스는 상속을 통해 기본 클래스를 확장하는데 파생 클래스의 객체에는 기본 클래스에서 선언된 멤버들과 파생 클래스에서 선언한 멤버들이 모두 존재하기 때문에, 파생 클래스 객체를 파생 클래스의 포인터나 기본 클래스의 포인터로 모두 가리킬 수 있다. 업 캐스팅 업 캐스팅(up-casting)이란 파생 클래스의 객체를 기본 클래스의 포인터로 가리키는 것 즉, 파생 클래스의 객체를..
2023.12.14
no image
[C++] 상속
황기태 저자의 명품 C++ Programming 개정판을 읽고 학습한 내용을 정리한 포스트입니다! https://search.shopping.naver.com/book/catalog/32436115747 C++ Programming : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 상속(Inheritance) 객체 지향 언어의 본질적 특성으로 sw의 재사용을 가능하게 하며, 동적 바인딩을 통해 객체 지향 프로그래밍의 묘미를 그대로 살리는 매우 중요한 기능이다. C++ 클래스 상속 C++에서는 두 클래스(class) 사이에 부모 - 자식의 상속 관계를 선언하며 상속은 자식 클래스의 객체가 생성될 때, 자신의 멤버뿐 아니라 부모 클래스의 멤버를 포함할 것을 지..
2023.12.06
no image
[C++] 단항 연산자 중복과 프렌드로 구현하기
황기태 저자의 명품 C++ Programming 개정판을 읽고 학습한 내용을 정리한 포스트입니다! https://search.shopping.naver.com/book/catalog/32436115747 C++ Programming : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 단항 연산자 단항 연산자(unary operator)란 앞에서 본 이항 연산자와는 다르게 피연산자가 하나이다. 위치에 따라 전위 연산자(prefix operator)와 후위 연산자(postfix operator)로 나뉜다. 전위 연산자 : !op, ~op, ++op, --op .... 후위 연산자 : op++, op-- .... 전위 ++ 연산자 중복 #include using ..
2023.12.06