728x90
#include <iostream>
using namespace std;

// nested types

enum FruitType
{
	APPLE, BANANA, CHERRY,
};

class Fruit
{
private:
	FruitType m_type;

public:
	Fruit(FruitType type) : m_type(type)
	{}

	FruitType getType() { return m_type; }
};

int main()
{
	Fruit fruit(CHERRY);
	cout << fruit.getType() << endl;
}

 

enum 을 사용해 과일의 타입을 정의했습니다. class 에서 type 을받아서 숫자를 리턴하고 있습니다.

 

하지만 Fruittype 이라는 enum 은 Fruit class 만 사용하기 때문에 class 안으로 넣어주도록 하겠습니다.

 

#include <iostream>
using namespace std;

// nested types

class Fruit
{
public:
	enum FruitType
	{
		APPLE, BANANA, CHERRY,
	};
	
private:
	FruitType m_type;

public:
	Fruit(FruitType type) : m_type(type)
	{}

	FruitType getType() { return m_type; }
};

int main()
{
	Fruit fruit(Fruit::CHERRY);
	cout << fruit.getType() << endl;
}

 

여러 클래스가 공통적으로 사용하는 class 일경우에는 밖으로 빼고 헤더를 따로 만들어 include 하는게 편하지만

특정 class 만 사용하는 datatype 일때는 class 안에서 임시로 사용하는 방법으로 구현합니다.

728x90