강좌연구3 [C++ 강좌연구] 동적 바인딩 다음 강의 일주일 내로 올라갑니다. 오래 기다리게 해서 죄송합니다. 다음 코드는 어떤 게임의 일부이다. 무기의 종류에는 칼(Sword)과 마법(Magic)이 있고, Sword와 Magic이라는 두 클래스가 Weapon 클래스에서 상속을 받아 구현한 상태다. main 안의 currentWeapon은 플레이어가 현재 들고 있는 무기를 가리키고 있다. #include using namespace std; class Weapon { public: Weapon(int power) : power(power) { cout 2019. 6. 18. [C++ 강좌연구] 정적 바인딩 저번 글에 올렸던 문제의 코드이다. 12Derived d;Base *b = &d;cs 부모를 가리키는 포인터는 자식도 가리킬 수 있다고 했다.다음 예제를 보자. 123456789101112131415161718192021222324class Base {public: void Print() { cout 2019. 2. 2. [C++ 강좌연구] 오버라이딩 다음 세 부분을 어떻게 설명할지 고민이다. 1. 오버라이딩2. 가상 함수3. 형변환 이 글에서는 오버라이딩을 먼저 설명해보겠다. 자식 클래스에서는 부모 클래스에서 선언된 것과 동일한 이름의 멤버를 사용할 수 있다. 123456789class Base {public: int a = 1;}; class Derived : public Base {public: int a = 2;};cs이렇게 써도 에러가 나지 않는다. 그럼 Base와 Derived 타입의 객체를 만들어 a 멤버변수를 출력해보자. 1234567int main() { Base b; Derived d; cout 2019. 2. 2. 이전 1 다음