나는 클래스 Player
을 가지고 있고 Gun
에서 파생 된 클래스의 수에 관계없이 설정할 수있는 primaryWeapon
멤버가 필요합니다. 이 작업을 수행하는 방법에 대해 궁금합니다. 나는 이걸 시험해 보려고했지만 여기서 어디로 가야할지 모르겠다.C++ - 속성으로 기본 클래스
class Player : public Character {
public:
Player();
~Player();
Gun primaryWeapon;
void update();
void move(float horizontal, float vertical);
void fire();
};
다형성을위한 포인터 또는 참조가 필요합니다. 'Gun * primaryWeapon;'(또는, 더 좋은 것은'std :: shared_ptr'또는'std :: unique_ptr '와 같은 스마트 포인터를 사용하는 것입니다.) –
cdhowie
시도해 보았습니다. 그러나 primaryWeapon = new DevPistol()을 수행하면 "No viable overloaded '='"오류가 발생합니다. –
이 오류가 발생하면'primaryWeapon' 유형은 무엇입니까? 예를 들어'std :: unique_ptr'이라면'primaryWeapon.reset (new DevPistol())'을 할 필요가 있습니다. – sfjac