42seoul/projects

[C++] abstract class (좔상 클래슀)

2023. 9. 13. 05:11

abstract class (좔상 클래슀)

ν•˜λ‚˜ μ΄μƒμ˜ 순수 가상 ν•¨μˆ˜λ₯Ό ν¬ν•¨ν•˜κ³  μžˆλŠ” 클래슀λ₯Ό 좔상 클래슀라고 λΆ€λ₯Έλ‹€.

class Test 
{
private:
public:
	virtual void sound() = 0; // μˆœμˆ˜κ°€μƒν•¨μˆ˜
};
class Test 
{
private:
public:
	virtual void sound() = 0;
};

class Copy : public Test
{
public:
	virtual void sound() {
		std::cout << "Hello";
	}
};

int main(void)
{
	Copy copy;
	copy.sound(); // output : "Hello"
	return (0);
};

μœ„μ™€ 같이 Test 클래슀λ₯Ό Copy ν΄λž˜μŠ€κ°€ 상속받은 κ²½μš°μ—λŠ” Testν΄λž˜μŠ€μ•ˆμ— μžˆλŠ” μˆœμˆ˜κ°€μƒν•¨μˆ˜μΈ sound()λ₯Ό

μ„ μ–Έ ν•΄μ€˜μ•Όν•œλ‹€.

 

선언을 ν•΄μ£Όμ§€μ•Šμ€ 경우

unimplemented pure virtual method 'sound' in 'TestTwo’

κ°€μƒν•¨μˆ˜λ₯Ό λ§Œλ“€μ–΄λ‘κ³  상속받은 μžμ‹ ν΄λž˜μŠ€μ—μ„œ λ”°λ‘œ 선언을 ν•΄μ£Όμ§€μ•Šκ²Œλ˜λ©΄ ν•΄λ‹Ή ν•¨μˆ˜λ₯Ό 찾을 수 μ—†λ‹€κ³ ν•˜λ©° 였λ₯˜κ°€ λ°œμƒλœλ‹€.

 

μΆ”μƒν΄λž˜μŠ€ μ‚¬μš©μš©λ„

μΆ”μƒν΄λž˜μŠ€μ˜ κ²½μš°μ—λŠ” μ΄λ¦„μ—μ„œ λ³΄μ΄λ‹€μ‹œν”Ό κ΅¬ν˜„μ΄ μ™„λ²½ν•˜μ§€ μ•Šμ•„ λ…λ‹¨μ μœΌλ‘œ μ‚¬μš©μ΄ λΆˆκ°€λŠ₯ν•˜κ³  ν•˜μœ„ν΄λž˜μŠ€μ˜ 섀계 λ˜λŠ” κ°€μ΄λ“œλΌμΈμ„ μ£ΌλŠ” μ—­ν• λ§Œ ν•˜λŠ” 클래슀둜 μ‚¬μš©λœλ‹€.

class Test 
{
private:
public:
	virtual void sound() = 0;
};

int		main(void)
{
	Test test; // error

	return (0);
}

μœ„μ™€ 같이 선언을 ν•΄μ„œ μ‚¬μš©μ„ ν• λ €κ³ ν•˜λ©΄ μΆ”μƒν΄λž˜μŠ€λΌ λΆˆκ°€λŠ₯ν•˜λ‹€λŠ” 문ꡬ가 λ‚˜μ˜¨λ‹€.

μ €μž‘μžν‘œμ‹œ (μƒˆμ°½μ—΄λ¦Ό)

'42seoul > projects' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[C++] Repetition and Exceptions  (0) 2024.03.13
[C++] interfaces ( μΈν„°νŽ˜μ΄μŠ€ )  (0) 2023.09.13
[C++] μ„œλΈŒ νƒ€μž… λ‹€ν˜•μ„±(Subtype Polymorphism)  (0) 2023.09.13
[CPP Module] 04  (0) 2023.09.13
[C++] endl κ³Ό β€˜\n’ 차이점  (0) 2023.09.02
  1. abstract class (좔상 클래슀)
  2. μΆ”μƒν΄λž˜μŠ€ μ‚¬μš©μš©λ„
moaoh
moaoh
λ‚˜μ˜ μ„±μž₯ 일기.
moaoh
🐢 🐾
moaoh
전체
였늘
μ–΄μ œ
  • Github
  • λΆ„λ₯˜ 전체보기
    • Algorithm
      • κ°œλ…μ •λ¦¬
      • λ¬Έμ œν’€μ΄
    • 42seoul
      • projects
    • CS
    • programming language
      • C++
      • Javascript
      • Go
      • Python
      • Front-end
      • Java
    • Java Spring
    • git
    • 일상
      • μ±… 읽기

졜근 κΈ€

hELLO Β· Designed By μ •μƒμš°
moaoh
[C++] abstract class (좔상 클래슀)
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”

단좕킀

λ‚΄ λΈ”λ‘œκ·Έ

λ‚΄ λΈ”λ‘œκ·Έ - κ΄€λ¦¬μž ν™ˆ μ „ν™˜
Q
Q
μƒˆ κΈ€ μ“°κΈ°
W
W

λΈ”λ‘œκ·Έ κ²Œμ‹œκΈ€

κΈ€ μˆ˜μ • (κΆŒν•œ μžˆλŠ” 경우)
E
E
λŒ“κΈ€ μ˜μ—­μœΌλ‘œ 이동
C
C

λͺ¨λ“  μ˜μ—­

이 νŽ˜μ΄μ§€μ˜ URL 볡사
S
S
맨 μœ„λ‘œ 이동
T
T
ν‹°μŠ€ν† λ¦¬ ν™ˆ 이동
H
H
단좕킀 μ•ˆλ‚΄
Shift + /
⇧ + /

* λ‹¨μΆ•ν‚€λŠ” ν•œκΈ€/영문 λŒ€μ†Œλ¬Έμžλ‘œ 이용 κ°€λŠ₯ν•˜λ©°, ν‹°μŠ€ν† λ¦¬ κΈ°λ³Έ λ„λ©”μΈμ—μ„œλ§Œ λ™μž‘ν•©λ‹ˆλ‹€.