기술(Tech, IT)/C++

[C++] Overriding (오버라이딩)

Daniel803 2023. 10. 26. 10:48

C++은 Overloading과 함께 Overriding도 제공한다. overriding은 파생된 클래스에서 기존 클래스의 멤버 함수를 새로운 정의로 재정의하는 것을 말한다. overriding은 주로 inheritance(상속)과 polymorphism(다형성)을 구현할 때 사용된다. 기본 클래스의 함수를 override하려면, 해당 함수는 반드시 'virtual'로 선언돼야 하고, private 멤버 함수는 직접적으로 접근이 불가하다(간접적으로는 reference(참조)를 통해 override 가능).

 

class Animal {
public:
	virtual void sound() {
    	std::cout << "sound";
    }
};

class Dog: public Animal {
public:
	void sound() override {
    	std::cout << "Woof";
    }
};

'기술(Tech, IT) > C++' 카테고리의 다른 글

[Tech, C++] Debugging Symbols (디버깅 심볼)  (1) 2024.02.25
[C++] Pointer (포인터)  (0) 2023.10.27
[C++] Overloading (오버로딩)  (0) 2023.10.25
[C++] Pointer와 Reference (포인터와 참조)  (0) 2023.10.24
[C++] 특징  (0) 2023.09.25