티스토리 뷰

1. 관계를 표현하는 동사 2 - 다른 클래스 속할수 있나? 3 - 클래가 멤버의 존재유무를 관리하나? 4- 방향성

 

구성 Composition - 두뇌는 육체의 일부이다.

Part-of / No / Yes / 단방향

 

집합 Aggregation - 어떤 사람이 자동차를 가지고 있다.

Has-a / Yes / No / 단방향

 

연계, 제휴 Association - 환자는 의사의 치료를 받는다. / 의사는 환자들로부터 치료비를 받는다.

Uses-a / Yes / No / 단방향 or 양방향

 

의존 Dependency - 나는 (다리가 부러져서 한달 동안) 목발을 짚었다.

Depends-on / Yes / No / 단방향

 

 

monster.h

#pragma once

#include<string>
#include "Position2D.h"

class Monster
{
	private:
	std::string m_name;
	Position2D m_location;
	
	public:
	Monster(const std::string name_in, const Position2D& pos_in)
		: m_name(name_in), m_location(pos_in)
	{
	}
	
	void moveTo(const Position2D& pos_target)
	{
		m_location.set(pos_target);
	}
	
	
	friend std::ostream & operator << (std::ostream & out, const Monster & monster)
	{
		out << monster.m_name << " " << monster.m_location;
		
		return out;
	}
};

 

position2D.h

#pragma once

#include<iostream>

class Position2D
{
	private:
	int m_x;
	int m_y;
	
	public:
	Position2D(const int& x_in, const int& y_in)
		: m_x(x_in), m_y(y_in)
	{}
	
	//TODO overload =
	
	void set(const Position2D& target)
	{
		m_x = target.m_x;
		m_y = target.m_y;
	}
	
	void set(const int& x_target, const int& y_target)
	{
		m_x = x_target;
		m_y = y_target;
	}
	
	friend std::ostream & operator << (std::ostream & out, const Position2D & pos2d)
	{
		out << pos2d.m_x << " " << pos2d.m_y;
		
		return out;
	}
};

 

main.cpp

#include "monster.h"

using namespace std;

int main()
{
	Monster mon1("Sanson", Position2D(0, 0));
	
	//while(1) // game roop
	//event
	mon1.moveTo(Position2D(1, 1));
	cout << mon1 << endl;
	return 0;
}
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함