C++
π μ) μμκ³Ό μ κ·Ό μ μ΄
μμ μ λ©€λ² ν¨μμμ μ κ·Ό | μμ ν΄λμ€μ λ©€λ² ν¨μμμ μ κ·Ό | μΈλΆμμ μ κ·Ό | |
private λ©€λ² | Yes | No | No |
protected λ©€λ² | Yes | Yes | No |
public λ©€λ² | Yes | Yes | Yes |
π μ€λ²λ‘λ©λ λ€νμ±μ ν μ’ λ₯λ€. νλμ μ΄λ¦μ μ¬μ©νμ§λ§ μΈμμ λ°λΌμ μ¬λ¬κ°μ§ λ€λ₯Έ ν¨μλ€μ΄ νΈμΆλ μ μκΈ° λλ¬Έμ΄λ€.
π κ°μ ν¨μμ μ μΈ λ€μ λ€μκ³Ό κ°μ΄ ' = 0 ' μ λΆμ¬μ£Όλ©΄ λλ€.
virtual void Draw() const = 0;
π "μ΄ ν¨μλ μ μκ° μμ΄. κ·Έλ¬λκΉ νΈμΆν μκ° μμ§ νμ§λ§ μμν΄λμ€μμ μ΄ ν¨μλ₯Ό μ€λ²λΌμ΄λ© ν κ±°κ±°λ κ·Έλ¬λκΉ λ€νμ±μ μ¬μ©ν΄μ μ΄ ν¨μλ₯Ό νΈμΆνλ λ§μ΄μΌ" μ΄κ²μ΄ λ°λ‘ μμ κ°μ ν¨μλ‘ λ§λ€μ΄μ£Όλ μλ―Έλ€.
π μ) Draw() ν¨μλ₯Ό μμ κ°μ ν¨μλ‘ λ§λ€κΈ°
μ€ν μ€λ₯
π‘ μ΄λ€ κ²½μ°μ λ©€λ² ν¨μλ₯Ό κ°μ ν¨μλ‘ λ§λ€ κ² μΈμ§ μλλ©΄ μμ κ°μ ν¨μλ‘ λ§λ€ κ²μΈμ§λ₯Ό μκ°ν΄λ³΄μ.
π JAVA μμλ Super class(Object) λΌκ³ λΆλ₯Έλ€. class λ₯Ό μ μνκ³ μμνμ§ μμΌλ©΄ μλμΌλ‘ Object λ₯Ό μμλ°λλ€. (μ΄λ νΌν΄κ° μ μλ€.)
π‘ λΆλͺ¨ ν΄λμ€μμ μ€λ²λ‘λλ ν¨μ μ€μ μ΄λ κ² νλλΌλ μ€λ²λΌμ΄λνλ©΄ λλ¨Έμ§ λ€λ₯Έ ν¨μλ€λ λͺ¨λ μ¬μ©ν μ μλ€. μ΄ κ·μΉ λλ¬Έμ test()ν¨μ μ€μ νλλ§ μ€λ²λΌμ΄λ©νμ¬λ test() ν¨μλ μ¬μ©ν μ μκ² λλ€.
κΌ νΈμΆνκ³ μΆλ€λ©΄ λ€μκ³Ό κ°μ΄ ν μ μλ€.
child.Point::test("???");
π‘ λν΄νΈ μμ±μλ₯Ό λ§λ€μ§ μκ³ μΈμκ° μλ μμ±μλ₯Ό μ¬μ©ν μ μλ€. μμ±μκ° νλλ μμ κ²½μ°λ§ μ»΄νμΌλ¬κ° λν΄νΈ μμ±μλ₯Ό λ§λ€μ΄ μ€λ€.
π μ¬μ©μκ° νλ‘κ·Έλ¨μ λ§μ΄ λμ λμμ μ»΄ν¨ν°μ λ μ΄μ μ¬μ© κ°λ₯ν λ©λͺ¨λ¦¬κ° λ¨μμμ§ μμ κ²½μ°μλ μ΄ κ°μ μ΄ κ±°μ§μ΄ λ μ μλ€. μ°λ¦¬λ μ΄λ° κ²½μ°μ μμΈκ° λ°μνλ€κ³ νννκ³ μ΄λ° μν©μ μ¬λ°λ₯΄κ² μ²λ¦¬νλ κ³Όμ μ μμΈ μ²λ¦¬λΌκ³ λ§νλ€.
μ€μν κ²μ λ²κ·Έλ μ€λ₯ κ°μ΄ κ°λ°μμ μ€μλ‘ μΌμ΄λλ λ¬Έμ μ λ€κ³Ό μμΈλ₯Ό ꡬλ³ν μ€ μμμΌνλ€.
π μ)
<DynamicArray.h>
<DynamicArray.cpp>
<Example.cpp>
μ€ν κ²°κ³Ό
π DynamicArray ν΄λμ€μ SetAt(), GetAt() ν¨μμλ λ¬Έμ μ μ΄ νλ μλ€.
μλ₯Ό λ€μ΄ SetAt() ν¨μ μλ μμμ μΈλμ€λ₯Ό λκ²¨μ£Όκ² λμ΄ μλλ° λ°°μ΄μ ν¬κΈ°λ₯Ό λ겨μ μΈλ±μ€λ₯Ό λ겨주λ κ²½μ°μλ ν λΉλμ§ μλ λ©λͺ¨λ¦¬λ₯Ό 건λλ €μ νλ‘κ·Έλ¨μ΄ λΉμ μμ μΌλ‘ μ’ λ£ν μκ³ μλ€.
SetAt() ν¨μμμλ μλͺ»λ μΈλ±μ€λ₯Ό λ°μμ λ κ³μν΄μ μμ μ μ§ννλ λμ μ μμ μ νΈμΆν κ³³μ λ¬Έμ κ° λ°μνμμ μλ €μ£Όμ΄μΌ νλ€.
<DynamicArray.h>
<DynamicArray.cpp>
<Example.cpp>
' !b ' λΌλ ννμ ' b != true ' λΌλ ννκ³Ό λμΌνλ€.
Example.cpp μ 16λ²μ§Έ μ€μμ λ°°μ΄μ ν¬κΈ°λ₯Ό λμ΄μλ 20μ΄λΌλ μΈλ±μ€λ₯Ό λ겨주μμ§λ§ νλ‘κ·Έλ¨μ΄ λΉμ μ μ’ λ£νλ λ±μ λ¬Έμ κ° μκΈ°μ§λ μμλ€.
SetAt() ν¨μ μμμ μΈλ±μ€ λΉκ΅ν νμ false λ₯Ό λ°ννκΈ° λλ¬Έμ΄λ€.
17λ²μ§Έ μ€μμλ SetAt() ν¨μμ λ°ν κ°μ λΉκ΅ν¨μΌλ‘μ¨ λ¬Έμ κ° λ°μνλμ§λ₯Ό μμλΌ μ μλ€.
μ¬κΈ°μ SetAt() ν¨μμ μλͺ»λ μΈλ±μ€λ₯Ό λκΈ΄ μ¬μ€μ 'μμΈ μν©' μ΄ λκ³ , SetAt() ν¨μμμ μ΄λ₯Ό κ°μ§ν νμ μμΈ μν©μ μΈλΆμ μ리λ κ³Όμ μ΄ 'μμΈ μ²λ¦¬' λΌκ³ λ³Ό μ μλ€.
μ€ν κ²°κ³Ό
π μ) ꡬ쑰μ μμΈ μ²λ¦¬ μ¬μ©
μ€ν κ²°κ³Ό
π μ) ꡬ쑰μ μμΈ μ²λ¦¬ μ¬μ©
<DynamicArray.cpp>
<Example.cpp>
π‘ catch λΈλ‘μ μ€μ§ ν κ°μ§ νμ μ κ°λ§ λ°μ μ μλ€.
μ€ν κ²°κ³Ό
π νμ₯μμλ κΈ°λ³Έ νμ μ κ°μ μμΈλ‘ λμ§λ κ²½μ°λ κ±°μ μκ³ λλΆλΆ κ°μ²΄λ₯Ό λμ§λ€.
<MyException.h>
<DynamicArray.cpp>
<Example.cpp>
μ€ν κ²°κ³Ό
[C++] string(λ¬Έμμ΄)/μμ (0) | 2016.09.21 |
---|---|
[C++] μμ±μ, μλ©Έμ νΈμΆ μμ / This ν¬μΈν° / μμ (0) | 2016.09.21 |
[C++] μμ±μμ μλ©Έμ/μΈμκ° μλ μμ±μ/μΈλΌμΈ ν¨μ/const ν¨μ (0) | 2016.09.21 |
[C++] λν΄νΈ μΈμ/typedef ν¨μ ν¬μΈν° μ μ/class μ μ (0) | 2016.09.21 |
[C++] κΈ°μ΄2(ν¨μ μ€λ²λ‘λ©) (0) | 2016.09.20 |