溫馨提示×

c++ class類多態(tài)怎么運(yùn)用

c++
小樊
81
2024-09-24 23:37:14
欄目: 編程語言

在C++中,多態(tài)是指允許使用基類指針或引用來操作派生類對象。通過虛函數(shù)(virtual function)實(shí)現(xiàn)多態(tài)。下面是一個(gè)簡單的例子來說明如何在C++類中使用多態(tài):

  1. 首先,定義一個(gè)基類(base class):
#include <iostream>
using namespace std;

class Animal {
public:
    virtual void makeSound() {
        cout << "The animal makes a sound" << endl;
    }
};
  1. 然后,定義一個(gè)派生類(derived class),繼承自基類:
class Dog : public Animal {
public:
    void makeSound() override {
        cout << "The dog barks" << endl;
    }
};
  1. 最后,在主函數(shù)(main function)中,使用基類指針指向派生類對象,并調(diào)用虛函數(shù):
int main() {
    Animal* animal = new Dog(); // 創(chuàng)建一個(gè)Dog對象,并用Animal類型的指針指向它
    animal->makeSound(); // 調(diào)用makeSound()函數(shù),輸出結(jié)果為 "The dog barks"

    delete animal; // 釋放內(nèi)存
    return 0;
}

在這個(gè)例子中,我們使用基類Animal的指針指向了一個(gè)派生類Dog的對象。當(dāng)我們調(diào)用animal->makeSound()時(shí),實(shí)際上調(diào)用的是派生類Dog中的makeSound()函數(shù),而不是基類Animal中的makeSound()函數(shù)。這就是多態(tài)的體現(xiàn)。

0