2021 시작

is a 관계와 has a관계

C++
2021. 2. 27. 13:38
#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관계

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading