aydarbiktimirov icon

Untitled

aydarbiktimirov | PRO | 01/24/12 11:29:26 AM UTC | 0 ⭐ | 289 👁️ | Never ⏰ | []
C++ |

580 B

|

None

|

0 👍

/

0 👎

#include <iostream>
#include <string>
 
class animal
{
    public:
        virtual std::string say() const = 0;
};
 
class cat:
    public animal
{
    public:
        virtual std::string say() const
        {
            return "meow";
        }
};
 
class dog:
    public animal
{
    public:
        virtual std::string say() const
        {
            return "bark";
        }
};
 
class animal_container
{
    public:
        void check(const animal &a) const
        {
            std::cout << a.say() << std::endl;
        }
};
 
int main()
{
    animal_container a;
    cat c;
    dog d;
    a.check(c);
    a.check(d);
    a.check(d);
    a.check(c);
    return 0;
}

Comments