기술(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";
}
};
반응형