c++ 질문 부탁합니다 ㅜㅠ
조회수 471회
#include <iostream>
#include <vector>
#include <string>
class Npc
{
public:
std::string npc_arr;
};
class Guard :public Npc
{
public :
std::string npc_arr;
Guard(std::string npc_arr);
};
Guard::Guard(std::string npc_arr)
{
this->npc_arr = npc_arr;
}
class Civil :public Npc
{
public:
Civil(std::string npc_arr);
};
Civil::Civil(std::string npc_arr)
{
this->npc_arr = npc_arr;
}
class InfoShower :public Npc
{
public:
static void showInfo(std::vector<Npc*> npc_arr);
};
void InfoShower::showInfo(std::vector<Npc*> npc_arr)
{
std::cout << "마을에는 ";
for (int i = 0; i < npc_arr.size(); ++i)
{
std::cout << npc_arr[i] << ",";
}
std::cout << "이 있습니다." << std::endl;
}
int main()
{
std::vector<Npc*> npc_arr;
npc_arr.push_back(new Guard("경비병"));
npc_arr.push_back(new Civil("시민"));
InfoShower::showInfo(npc_arr);
return 0;
}
//계속 쓰레기 값이 나오는데 어떻게 할 방법 없나요?
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
#include <iostream> #include <vector> #include <string> class Npc { public: std::string npc_arr; }; class Guard :public Npc { public : Guard(std::string npc_arr); }; Guard::Guard(std::string npc_arr) { this->npc_arr = npc_arr; } class Civil :public Npc { public: Civil(std::string npc_arr); }; Civil::Civil(std::string npc_arr) { this->npc_arr = npc_arr; } class InfoShower { public: static void showInfo(std::vector<Npc*> npc_arr); }; void InfoShower::showInfo(std::vector<Npc*> npc_arr) { std::cout << "마을에는 "; for (int i = 0; i < npc_arr.size(); ++i) { std::cout << npc_arr[i]->npc_arr << ","; } std::cout << "이 있습니다." << std::endl; } int main() { std::vector<Npc*> npc_arr; npc_arr.push_back(new Guard("경비병")); npc_arr.push_back(new Civil("시민")); InfoShower::showInfo(npc_arr); return 0; }
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력