μ°μ°μ μ€λ²λ‘λ©μ΄λ?
C++ μμ μ°λ¦¬λ μ¬λ¬κ°μ§ μ°μ°μλ₯Ό μ¬μ©ν΄μμ΅λλ€.
λνκΈ°(+), λΉΌκΈ°(-), λλκΈ°(/), κ³±νκΈ°(*)κ° λνμ μ λλ€.
μ¬μ€ μ΄λ¬ν μ°μ°μλ€λ μ΄λ―Έ μ€λ²λ‘λ©μ΄ λμ΄ μλ ννμ λλ€.
μ€λ²λ‘λ©μ΄ ν ν¨μκ° μ¬λ¬ λ€λ₯Έ μλ£ν κ°μ μ²λ¦¬ν μ μκ² λ°λ³΅μ μΌλ‘ μ μΈνλ κ²μ΄μμ£ ?
μμ μΌλ°μ μ°μ°μλ€λ integer, double, float λ±μ μλ£νμ λͺ¨λ λ€λ£° μ μκΈ° λλ¬Έμ λλ€.
λ€μ λμμμ μ΄λ¬ν μ°μ°μ μ€λ²λ‘λ©μ μ°λ¦¬κ° μ¬μ©νκ² λ λμλ,
μ£Όλ‘ user defined typeλ€μ built-in typeλ€κ³Ό λΉμ·νκ² νλν μ μκ² νλ λͺ©μ μ λλ€.
λν μ½λμ κ°λ μ±μ λμΌ μκ° μμ΅λλ€.
μ΄λ¬ν μ°μ°μ μ€λ²λ‘λ©μ μ»΄νμΌλ¬μμ μλμ μΌλ‘ νν΄μ§μ§ μμ΅λλ€.
ν κ°μ§ μ’ λ₯, λμ μ°μ°μ(=)λ₯Ό μ μΈνκ³ λ λ§μ λλ€.
μ¦, μ°λ¦¬κ° μ§μ μ μΈ λ° μ μλ₯Ό ν΄ μ£Όμ΄μΌλ§ μ€λ²λ‘λ©μ΄ λ©λλ€.
μ¬κΈ°μ μ€μν μ μ, μ°μ°μ μ€λ²λ‘λ©μ λΉμ°ν νμμ μ΄μ§ μμ΅λλ€.
μλ₯Ό λ€μ΄, μ¬λμ μΈμ μ¬νμ 보κ΄νλ Person ν΄λμ€μ λν΄μ
λνκΈ°, λΉΌκΈ°, λλκΈ°, κ³±νκΈ°μ κ°μ μ°μ°μλ νμκ° μμ λΏλλ¬ μ΄ν΄λ μ λμ§ μμ΅λλ€.
μ΄λ° κ²½μ°μλ μ¬μ©νλ κ²μ΄ μ€νλ € μ’μ§ μκΈ° λλ¬Έμ,
κΌ νμν κ²½μ°μλ§ μ¬μ©νλλ‘ ν΄μΌ ν©λλ€.
κ°λ¨ν μμλ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€.
λ§μ½ μ°λ¦¬κ° Number μ΄λΌλ μλ¬΄λ° μ«μλ₯Ό λ΄λ ν΄λμ€λ₯Ό λ€λ£¨κ³ μλ€κ³ ν΄ λ΄ μλ€.
λ€ μ«μ a, b, c, dμ λν΄μ (a + b) * (c / d) λ₯Ό νκ³ μΆλ€λ©΄,
λ€μκ³Ό κ°μ΄ μμ±ν΄μΌ ν κ² μ λλ€.
// Functions
Number result = multiply(add(a, b), divide(c, d));
// Member Methods
Number result = (a.add(b)).multiply(c.divide(d));
μ²μ²ν 보면 μ΄ν΄κ° λκΈ΄ νκ² μ§λ§,
κ°λ μ±μ΄ λ€μ λ¨μ΄μ§λλ€.
μ΄λ° κ²½μ°κ° μ°μ°μ μ€λ²λ‘λ©μ νκΈ° μ’μ μμμ λλ€.
μ μ© μ΄νμ μ½λμ μμλ λ€μκ³Ό κ°μ΅λλ€.
Number result = (a+b)*(c/d);
λ무λ κ°λ¨νκ³ μ½κΈ°κ° λ§€μ° νΈν΄μ‘μ΅λλ€.
κ·Έλ λ€λ©΄, μ΄λ€ μ’ λ₯μ μ°μ°μλ€μ΄ μ€λ²λ‘λ© κ°λ₯ν κΉμ?
μ€λ²λ‘λ©μ΄ κ°λ₯ν μ°μ°μλ€
C++μ λλΆλΆμ μ°μ°μλ μ€λ²λ‘λ©μ΄ κ°λ₯ν©λλ€.
λͺκ°μ§ λΆκ°λ₯ν μ°μ°μλ€μ λ€μκ³Ό κ°μ΅λλ€.
- ::
- :?
- .*
- .
- sizeof
λ€μ νλ² μ€μν μ μ,
μ€λ²λ‘λ©μ΄ κ°λ₯νλ€κ³ ν΄μ ν΄μΌλλ€λ κ²μ΄ μλλλ€.
μ½λμ κ°λ μ±μ λμ΄κ³ ν¨μ¨μ μΌλ‘ μ¬μ©ν μ μκ³ ,
ν΄λΉ μ°μ°μλ€μ΄ ν΄λμ€μ μ§κ΄μ μΌλ‘ μ°κ³λμ΄ νμ©λκΈ° μ¬μΈ λμλ§ μ¬μ©νλλ‘ μ£Όμν©λλ€.
μ€λ²λ‘λ©μ κ·μΉλ€
- μ°μ°μ μ°μ μμ(Precedence)μ κ²°ν©λ²μΉ(Associativity)λ λ³κ²½λ μ μμ΅λλ€.
- arityκ° λ³κ²½λ μ μμ΅λλ€. (μ°μ°μμ μΈμ, λλ νΌμ°μ°μμ κ°―μκ° λ³κ²½λ μ μμ΅λλ€)
- C++μμ κΈ°λ³Έμ μΌλ‘ μ¬μ©νλ μ°μ°μλ€μ΄ μλ μλ‘μ΄ μ°μ°μλ₯Ό λ§λ€μ΄λΌ μ μμ΅λλ€.
- μμ νμ (Primitive Type) μ λν μ°μ°μλ μ€λ²λ‘λ©ν μ μμ΅λλ€.
- [], (), ->, = μ°μ°μλ 무쑰건 λ©€λ² ν¨μλ‘ μ μΈλμ΄μΌ ν©λλ€.
- μ΄μΈμ μ°μ°μλ λ©€λ² λ©μλ λλ κΈλ‘λ² ν¨μλ‘ μ μΈλ μ μμ΅λλ€.
'C++ > κΈ°ν' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[C++] λμ μ°μ°μ μ€λ²λ‘λ© (μ΄λ) | Assignment Operator Overloading (Move) (0) | 2024.01.09 |
---|---|
[C++] λμ μ°μ°μ μ€λ²λ‘λ© (볡μ¬) | Assignment Operator Overloading (copy) (0) | 2024.01.09 |
[C++] cin.ignore() (0) | 2023.12.28 |
[C++] vscode λλ²κΉ μΈν κΈ°λ‘ (0) | 2023.12.23 |
[C++] μΆκ°μ μΈ λ³μ μ μΈ μμ΄ κ° κ΅ννκΈ° (swap) (1) | 2023.12.19 |