전체 글

전체 글

    [C++] 가상 소멸자

    [C++] 가상 소멸자

    1. 가상 소멸자 #include using namespace std; class Base { public: Base() { cout

    [C++] 가상 함수 문법 정리

    [C++] 가상 함수 문법 정리

    1. 가상 함수 관련 문법 정리 class Shape { pbulic: virtual void Draw() {} }; class Rect : public Shape { public: virtual void Draw() {} // ok // void Draw() {} // ok }; int main() { } ① 파생 클래스에서 가상 함수 재정의 (override) 할 때 => virtual 키워드는 붙여도 되고 붙이지 않아도 된다. => 되도록이면 붙이는 것이 가독성이 좋다. class Base { public: virtual void f1() {} virtual void f2(int) {} virtual void f3() const {} }; class Derived : public Base { pub..

    [C++] 가상 함수 (virtual function)

    [C++] 가상 함수 (virtual function)

    1. 함수 오버 라이드 (function override) #include class Shape { public: void Draw() { std::cout C++, C# 등의 언어는 기반 클래스 함수 호출 => java, swift 등의 언어는 파생 클래스 함수 호출 2. 함수 바인딩 (binding) #include class Shape { public: void Draw() { std::cout 방법2. 실행 할 때 결정하는 방법 - dynamic binding 위의 코드를 봐선 p가 Shape를 가리키는걸 알 수 있다. 그럼 아래 코드를 보자. #include class Shape { public: void Draw() { std::cout 컴파일러는 컴파일 시간에 실제로 p가 어느 객체를 가리키..

    [C++] upcasting

    [C++] upcasting

    1. upcasting class Shape { public: int color; }; class Rect : public Shape { public: int x, y, w, h; }; int main() { Rect rect; Rect* p1 = ▭ // ok int* p2 = ▭ // error Shape* p3 = ▭ // ?? Shape& r = rect; // ?? } main함수를 살펴보자 1. Rect* p1 = ▭ - 서로 똑같은 타입으로 아무 문제 없이 ok. 2. int* p2 = ▭ - 이건 완벽히 다른 타입으로 error / 리인터프리터 캐스팅을 사용하면 가능 3. Shape* p3 = ▭ - 앞에 포인터가 Rect는 아니지만 기..

    2019년 10월 전세계 게임 매출 순위

    2019년 10월 전세계 게임 매출 순위

    소비자들은 10월에 모든 게임에서 82억 8천만 달러를 소비했습니다. 콘솔, PC 및 모바일에 대한 총 매출은 콘솔 게임의 급격한 매출감소로 인해 전년 대비 3% 감소했으며, 이는 작년 Red Dead Redemption2 출시때와 비교하기 어려웠습니다. 모바일은 디지털 게임의 성장 리더로써 7% 성장했습니다. Call of Duty : Modern Warfare가 2019년 가장 많이 팔린 제품입니다. Modern Warfare는 10월달 콘솔 및 PC에서 약 475만대를 판매했으며 작년 Black Ops4보다 11% 감소한 것으로 나타 났지만, 이달 말 출시로 인해 며칠 줄은 수치입니다. 디지털 패스의 평균 판매 가격도 시즌 패스 번들이 없어 작년보다 하락했습니다. 에이펙스 레전드는 출시 된 지 가장..

    [C++] 상속에서의 생성자 소멸자

    [C++] 상속에서의 생성자 소멸자

    1. 상속에서의 생성자 소멸자 #include using namespace std; class Base { int data; public: Base() { cout