: namespace μ²λΌ νμ€ν μμμ μ£Όλ enum λ¬Έ
1) νμ
μ μ΄λ¦, μμ μμ΄ μ무λ°μλ μ¬μ©μ΄ κ°λ₯ν¨.
-> μμμ μΌλ‘ νλ³νλλ κ²μ.
-> μ½λ κ°μμ±μ λ§ν¬λμ§ λͺ»ν¨.
2) enumμ λ©€λ²λ‘ μμ±ν ν, λ³μλ‘ λμΌν enumμ λ©€λ² μ΄λ¦μΌλ‘ μμ±ν μ μμ. (μλ μμ μ½λμλ€.)
: μ»΄νμΌμ λͺ¨νΈμ± λ¬Έμ λ°μμν€μ§ μλλ°, μ μ κ° λ³΄κΈ°μλ μ... λκΉ μκ°νκ² λ§λ λ€.
μλ μ½λλ₯Ό 보면, Color::red λ 1μΈλ° , mainμ red λ³μκ° μλ€...
μ΄μ κ°μ κ²½μ°μ μ»΄νμΌλ¬λ μ΄λ€ λμ μ νν κΉ???
enum Color { red = 1 }
int main()
{
int red = 2;
int n3 = red; // ?????
}
-> λΉλν΄λ³΄λ©΄, μ΄μμκ³ ???
μ€ννμ λ, μ μ 곡κ°μ μλ enumμ΄ μλλΌ mainμ μλ redκ° μΆλ ₯λ¨.
(μ¦ μ’λ κ°κΉμ΄ μλ λμ΄ μ νλμλ€.)
κ·Έλ¬λ©΄ μ΄λ κ²λ???
: enumμΌλ‘ λ¬Άμμ§λ§, mainμμ 보기μλ μμμ νλ³νμΌλ‘ λμΌν λ°μ΄ν° νμ
μΌλ‘ λ³Έλ€λ κ²μ νμΈν μ μλ€.
κ·Έλ?? κ·ΈλΌ μ§μ§ νμ
μ λκΉ???!!
μ§μ§ νμ
μ μ΄λ λ€. μ λ§ μμμ νλ³ν μ²λ¦¬λ¨μ νμΈν μ μλ€.
- enum λ³΄λ€ μ κ·Έλ μ΄λ λ λ΄μ©
: μ΄λ¦ μ€λ³΅λ°μνμ§ μμ.
: νμ€ν μμκ°μ μ μ μμ.
: μ λ°© μ μΈμ΄ κ°λ₯ν¨.
-> μ΄νν°λΈ λͺ¨λ c++ νλͺ© 10 λ΄μ©.
https://blockdmask.tistory.com/405
μλ κ·Έλ¦Όμ μλͺ»λ μΈλλ° tλ₯Ό μμ±νμ§ μμμ μλμ κ°μ΄ μΆλ ₯λ¨.
μ΄λ κ² ν΄μΌ νλ€.
-> enum class μ μμλ€μ typeμ΄ charλ‘ μ ν΄μ§ κ²μ νμΈν μ μλ€.
char λ‘ νμ
μ§μ ν λ€μμ INT_MAX κ° λ£κ³ μΆλ ₯ν΄λ³΄λ©΄???
-> μΌλ¨μ cout << μ°μ°μκ° μμ΄μ μλ¬λ°μ.
κ·Έλ¦¬κ³ char λ²μλ₯Ό λ²μ΄λ INTMAX μ¬μ -1λ‘ μΆλ ₯λλ€....
enumμμ enum classλ₯Ό μ¬μ©νλλ‘ νμ!
κ·Έλ¦¬κ³ κ°λ₯νλ©΄ enum class : char νμ μ§μ ν΄μ λ©λͺ¨λ¦¬ μ‘°κΈμ΄λΌλ μ€μ΄μ.