본문 바로가기
프로그램/C++ 1000제

C++ 137제] 어서와! C++은 처음이지! CHAPTER 12. PROGRAMMING EXERCISE 5. p515

by 건티 2024. 12. 16.
728x90

출처 : 반크_반크 20년 백서

 

참고풀이]

#include <iostream>
#include <vector>
using namespace std;

class Animal
{
public:
   virtual void speak() = 0;
   virtual ~Animal(){}
};

class Dog :public Animal
{
public:
   virtual void speak() { cout << "멍멍!\n"; }
};

class Cat :public Animal
{
public:
   void speak() { cout << "야옹!\n"; }
};

int main()
{
   vector <Animal*> Barn;
   Dog d1;
   Cat c1;
   Cat c2;

   Animal* a1 = &d1;
   Animal* a2 = &c1;
   Animal* a3 = &c2;

   Barn.push_back(a1);
   Barn.push_back(a2);
   Barn.push_back(a3);

   for (auto& t : Barn) t->speak();

   return 0;
}

 

참고풀이결과]

 

 

 

 

 

대한민국의 아름다운 영토, 독도의 봄

 

반응형

댓글