溫馨提示×

c++虛函數指的是什么

c++
小億
102
2023-10-31 12:22:20
欄目: 編程語言

C++的虛函數是一種特殊的成員函數,用于實現多態。多態是面向對象編程的一個重要特性,它允許以統一的方式處理不同類型的對象。

虛函數通過在基類中聲明并在派生類中重新定義,實現了動態綁定(也稱為運行時多態)。當基類指針或引用指向派生類對象時,通過調用虛函數,可以根據實際的派生類類型來確定要執行的函數。

虛函數的聲明格式如下:

virtual 返回類型 函數名(參數列表) [const] = 0;

其中,virtual關鍵字表示虛函數,= 0表示該虛函數是純虛函數,需要在派生類中重新定義,而不能在基類中實現。

通過使用虛函數,可以實現類似于以下的多態行為:

class Animal {
public:
    virtual void makeSound() {
        cout << "Animal makes sound." << endl;
    }
};

class Dog : public Animal {
public:
    void makeSound() override {
        cout << "Dog barks." << endl;
    }
};

class Cat : public Animal {
public:
    void makeSound() override {
        cout << "Cat meows." << endl;
    }
};

int main() {
    Animal* animal1 = new Dog();
    Animal* animal2 = new Cat();

    animal1->makeSound();  // 輸出 "Dog barks."
    animal2->makeSound();  // 輸出 "Cat meows."

    delete animal1;
    delete animal2;

    return 0;
}

在上述示例中,Animal類中的makeSound()函數被聲明為虛函數。通過使用基類指針分別指向派生類對象,調用makeSound()函數時,根據實際的派生類類型來確定執行的函數。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女