C++ 언어/연습문제
C++언어 연습문제34
powerdeng
2022. 11. 12. 15:35
[문제]
아래의 main 함수를 참고하여 클래스를 수정하라.
조건1) 문제33의 클래스를 기본으로 할 것
조건2) 상속을 사용하지 말 것
int main(void)
{
Police pman1(5, 3);
pman1.Shot();
pman1.PutHandcuff();
Police pman2(0, 3);
pman2.Shot();
pman2.PutHandcuff();
return 0;
}
[실행결과]
BBANG!
SNAP!
Hut BBANG!
SNAP!
[코드]
#include<iostream>
using namespace std;
class Gun
{
private:
int bullet;
public:
Gun(int bnum) :bullet(bnum)
{ }
void Shot()
{
cout << "BBANG!" << endl;
bullet--;
}
};
class Police
{
private:
int handcuffs;
Gun* pistol;
public:
Police(int bnum, int bcuff) :handcuffs(bcuff)
{
if (bnum > 0)
pistol = new Gun(bnum);
else
pistol = NULL;
}
void Shot()
{
if (pistol == NULL)
cout << "Hut BBANG!" << endl;
else
pistol->Shot();
}
void PutHandcuff()
{
cout << "SNAP!" << endl;
handcuffs--;
}
~Police()
{
delete pistol;
}
};
int main(void)
{
Police pman1(5, 3);
pman1.Shot();
pman1.PutHandcuff();
Police pman2(0, 3);
pman2.Shot();
pman2.PutHandcuff();
return 0;
}
<참고>
윤성우의 열혈 C++ 프로그래밍