markdown 가상함수와순수가상함수

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown 가상함수와순수가상함수相关的知识,希望对你有一定的参考价值。

# 가상함수 (Virtual Function)

## 개요

```
class Animal {
public:
    virtual void breathe();    
};
class Fish : public Animal {
public:
    virtual void breathe();
}
```
- 실행 시 사용된 객체에 의해 실행 코드가 결정되는 함수이다.
- 상속받은 객체에서 부모객체의 가상함수를 재정의하면 자동으로 가상함수로 처리된다.
- 하지만 상속클래스에서 가상함수를 재정의할때에도 virtual을 명시해주는것이 좋다.

## 가상함수의 호출
```
Animal *a = new Fish;
a->breathe()    // Fish::breathe() 호출
```
부모클래스의 포인터가 자식 클래스의 객체를 가리킬때, 포인터를 사용하여 호출하면
파생 클래스에서 재정의한 함수가 호출된다.

# 순수가상함수 (Pure Virtual Function)
```
class Person
{
public:
    virtual void VirtualMethod() = 0;
};
```
순수가상함수는 자식클래스에게 이러한 함수를 호출해야한다는 일종의 인터페이스를 제공한다.
순수가상함수가 정의된 클래스는 인스턴스화 할 수 없으며 실제 구현은 자식 클래스에서 구현해야
한다.

以上是关于markdown 가상함수와순수가상함수的主要内容,如果未能解决你的问题,请参考以下文章

markdown const멤버함수

markdown 함수의활용

markdown 함수링크

markdown 함수#python #tutorial

markdown 함수호출규약(Calling Convention)

c_cpp 람다함수를함수의파라미터로사용하기