반응형 프로그래밍 이야기/C++ 기초26 [C++] 예제로 배우는 객체 지향 #1 도형 그리기 모든 도형을 타입으로 설계한다. -> Rect, Circle 모든 도형의 공통의 기반 클래스가 있다면 모든 도형을 하나의 컨테이너에 담아서 관리 할 수 있다. ->기반 클래스 Shape 추가 모든 도형의 공통 특징은 반드시 기반 클래스에도 있어야 한다. -> Draw함수는 Shape에도 있어야 한다. 파생 클래스에서 재정의된 함수는 반드시 가상 함수로 만든다. #include #include using namespace std; class Shape { public: virtual void Draw() { cout 2020. 11. 24. [C++] Protected Contructor 생성자가 호출되는 정확한 순서 자식 클래스의 생성자 -> 부모클래스의 생성자 생성자를 protected에 만드는 경우 자기자신은 객체로 만들 수 없지만 파생 클래스의 객체는 만들 수 있다. "동물"은 추상적 개념이기 때문에 객체가 존재 할 수 없지만, "강아지"는 큰 현실세계에서 객체가 존재한다. Protected 소멸자의 의미 Public 소멸자를 호출할 수 없으므로 Stack에 객체를 만들 수 없고 Heap에 할당할 수 있다. 그러므로 소멸자도 destroy()와 같은 별도의 public 함수로 만들어 줘야한다. 참조 개수 기반의 객체 수명을 관리하는 기법에서 많이 사용된다. 2020. 11. 24. [C++]Casting, Virtual function #include using namespace std; class Animal { int age; public: void Cry() { cout 2020. 11. 24. Range based for 전통적인 반복문의 사용 예는 아래 예의 첫번째 for문과 같다. struct Person { float weight; float height; }; Person persons[] = { Person{70.f, 181.f}, Person{56.f, 167.f} }; for (int i = 0; i < 2; ++i) { cout 2020. 9. 9. 이전 1 ··· 3 4 5 6 7 다음 반응형