27. 27
class Animal {
public:
void printDesc() { cout << "Name of animal is "; }
};
class Penguin : public Animal {
public:
void printDesc() {
printDesc();
std::cout << "penguin." << std::endl;
}
};
printDesc() = Penguin::printDesc()
→ 재귀적으로 무한히 반복
→ 스택 메모리 부족으로 인해 강제 종료
서브클래스에서 printDesc()를 오버라이딩
→ 슈퍼클래스의 printDesc()를 사용해
동물의 이름을 출력하려고 함
28. 28
class Animal {
public:
void printDesc() { cout << "Name of animal is "; }
};
class Penguin : public Animal {
public:
void printDesc() {
Animal::printDesc();
std::cout << "penguin." << std::endl;
}
};