#include<iostream>
using namespace std;
class Sport
{
private:
public:
virtual void Do() const
{
cout << "나는 운동을 한다" << endl;
}
};
class MMA : public Sport
{
private:
public:
virtual void Do()const
{
cout << "나는 MMA를 한다" << endl;
}
};
class Golf : public Sport
{
private:
public:
virtual void Do()const
{
cout << "나는 골프를 한다" << endl;
}
};
class Swimming : public Sport
{
private:
public:
virtual void Do() const
{
cout << "나는 수영을 한다." << endl;
}
};
void Play(const Sport& ing)
{
ing.Do();
}
int main()
{
Sport sport;
MMA mma;
Golf golf;
Swimming swimming;
Play(sport);
Play(mma);
Play(golf);
Play(swimming);
}
이것이 is a 관계
#include<iostream>
#include<tchar.h>
using namespace std;
class Pencil
{
private:
public:
void Write() { cout << "Write!" << endl; }
};
class Bag : public Pencil
{
private:
public:
void Play() { Write(); }
};
int _tmain()
{
Bag bag;
bag.Play();
return 0;
}
이건 has a 관계
#include<iostream>
using namespace std;
class Pencil
{
private:
public:
void Write() { cout << "Wirte!!" << endl; }
};
class Bag
{
private:
Pencil pen;
public:
void play() { pen.Write(); }
};
int _tmain()
{
Bag bag;
bag.play();
}
이것도 has a관계