서울게임아카데미 교육과정 6개월 C++ ~ DirectX2D 76
-
STL STL 은 C++ 프로그래밍 언어의 표준 라이브러리인 "Standard Template Lirary"의 약자이다. STL은 제네릭 프로그래밍 개념을 기반으로 하여, 유용한 컨테이너 클래스, 알고리즘 함수 및 객체를 재공하여 C++개발자 들이 보다 쉽고 효율적으로 작업할 수 있도록 해준다. STL은 주 네가지 구성요소로 이루어져있다. 컨테이너 (Containers) 알고리즘 (Iterators) 함수객체 (Algorithms) 반복자 (Function Objects) 컨테이너 (Containers) STL의 컨테이너는 데이터를 저장하는 클래스를 말한다. 다양한 형태의 컨테이너를 제공한다. SequnceContatiner 선형 컨테이너 AssociativeContainer 연관 컨테이너 Adapter..
-
class에서 순수가상화 class를 사용하여, 인터페이스를 구축할 수 있다. 순수 가상화 선언 시 단독사용이 안되고, 필요할 시 자식class로 호출해야한다. class IErrorLog // 순수 가상함수로만 이루어진 인터페이스 이다. { public: virtual ~IErrorLog() = default; virtual bool ReportError(const char* const error) abstract; // 순수 가상화 선언 }; class FileErrorlog : public IErrorLog { public: virtual bool ReportError(const char* const error) override { cout
-
C++에서 일반적으로 함수를 사용하는 방법을 static binding이라고 한다. 이는, 함수를 정의해주는 바인딩이 컴파일 타임 때 호출될 함수가 정의된다는 의미이고 이렇게 컴파일 타임 때 정의되는 함수는 컴파일시간에 정의되기 떄문에, 실행시에 함수가 바뀌지 않는다. 그래서 실행시간에 바인딩을 검색할 필요가 없기 때문에, 실행속도가 동적 바인딩에 비해 빠르다. 동적바인딩은, 실행시간에 호출을 처리함으로써 객체의 타입이나 상태에 따라 실행 흐름을 자유롭게 제어할 수 있게된다. 이로써 객체지향 프로그래밍 언어에서의 다형성과 유연성을 확보할 수 있게된다. 그러나, 실행시간에 바인딩을 검색해야 하므로 정적 바인딩보다는 실행속도가 느릴 수 있다. 정적 바인딩 ( Static Binding ) 컴파일 시간에 변수..
-
C++ 의 상속은 이중상속이 가능하다. C++ 의 상속과정에서 상속자를 두개 넣으면 두개의 class의 public 과 protected에 대한 값을 사용할 수 있다. 다음은 이러한 이중상속 에 대한 코드이다. #include // 이중상속 에 대한 이야기 using namespace std; class USBDevice { int id; public: USBDevice() = default; USBDevice(int id) : id(id) {} auto GetId() const { return id; } void PlugAndPlay() {} }; class NetworkDevice { int id; public: NetworkDevice() = default; NetworkDevice(int id) ..
-
C++에서의 다형성인 오버로딩, 오버라이딩 중 오버 라이딩을 사용하는 부모자식 클레스에 대한 내용이다. C++ 에서는 부모자식 클래스에 대한 함수 오버라이딩과 privet을 제외한 함수 공유가 가능하다. 이는 부모클래스와 자식클래스로 이어지는 것을 이야기한다. 예를들어 책이라는 묶음에 책내용이라는 자식이 있는 격 이다. 부모클래스와 자식클래스의 관계에서는 부모클래스는 기본적인 특성과 동작을 정의하고, 자식클래스는 이러한 특성과 동작을 상속받아 추가적인 기능을 추가하거나 변경할 수 있다. ( 변경은 함수 오버라이딩을 의미한다 ) 이를 통해 코드의 확장성과 유연성을 증가시킬 수 있다. 다음 코드는 기본적인 부모자식클래스의 예시이다. 코드예시는 다음과 같다. class Mother { private: int ..
-
const Const는 상수를 선언하기 위해 사용하는 한정자이다. const를 사용하여 변수를 선언하면, 해당 변수의 값은 const선언한. 초기화 이후에 변경할 수 없게된다. 이를통해 프로그램의 의도적인 수정을 방지하고, 코드의 안정성과 가독성을 향상시킬 수 있다. const는 다음과 같이 사용할 수 있다. 읽을 때, 좌측에 있는것 을 상수화한다. 라고 읽으면 된다. // 변수 선언시 변수 상수화 const int MAX_VALUE1 = 100; int const Max_VALUE2 = 100; // 함수의 매개변수를 상수화 int Printvalue(const int value) { return value; } int Printvalue(int const value) { return value; } ..