Code Kata [정수 내림차순으로 배치하기 & 하샤드 수]; C++ ; Text RPG Complete
Code Kata
C++
- c++ 부모 소멸자에 virtual 하면 자식클래스에도 소멸자 정의 해야 하나?• 상속 관계: 부모 클래스에서 상속을 염두에 두고 소멸자를 virtual로 선언하는 것이 필수적입니다.• 소멸 순서: 가상 소멸자가 설정되면, delete 시 자식 클래스 소멸자가 먼저 호출된 후 부모 클래스 소멸자가 호출됩니다.
- • 예외: 자식 클래스 내에서 동적 할당 등 별도의 리소스 해제가 필요할 때만 명시적으로 ~Child() { ... }를 정의합니다. [1, 2, 3, 4, 5]결론적으로, 다형성을 활용하는 상속 구조에서는 부모 소멸자에 virtual을 붙이되, 자식 클래스는 필요할 때만 소멸자를 정의하면 됩니다.
- • 자식 클래스 소멸자 정의: 자식 클래스에서 특별히 해제할 리소스가 없다면, 정의하지 않아도 됩니다. 컴파일러가 자동으로 기본 소멸자를 생성합니다.
- 아니요, 부모 클래스 소멸자에 virtual을 붙였다면 자식 클래스에서 소멸자를 명시적으로 정의(오버라이딩)하지 않아도 됩니다. virtual 키워드의 목적은 부모 포인터로 자식 객체를 delete할 때 자식 소멸자가 호출되도록 보장하는 것이며, 자식 클래스는 부모의 가상 소멸자를 자동으로 상속받아 자신의 소멸자(기본 생성)를 호출합니다. [1, 2, 3, 4]핵심 사항:
RPG
- inventroy issue
- Summary • Fixed the inventory reset issue after monster drops by preserving the original inventory vector across function calls. Changes • Updated startBattleWithMonster declaration to take vector<Item>& inventory instead of vector<Item> inventory in HW8_CompleteGame\00_Main.cpp. • Updated startBattleWithMonster definition to match (vector<Item>& inventory), so inventory.push_back(...) now modifies the main inventory in main(). Verification • Not run (not explicitly requested), but this change addresses the exact pass-by-value bug causing dropped items to disappear after battle.
Complete: https://github.com/devcol-main/CppAssignment/tree/5965a58ea9abf6919d5aa69cc441556d64cb51fd/CppTextRPGProject/CppTextRPGProject