Assign C++在多態(tài)中的正確姿勢(shì)

c++
小樊
84
2024-07-21 13:13:03

在C++中,多態(tài)可以通過(guò)虛函數(shù)來(lái)實(shí)現(xiàn)。正確的姿勢(shì)是在基類(lèi)中聲明虛函數(shù),并在派生類(lèi)中重新實(shí)現(xiàn)這些虛函數(shù)。這樣在運(yùn)行時(shí),根據(jù)對(duì)象的實(shí)際類(lèi)型來(lái)調(diào)用相應(yīng)的函數(shù)。

#include <iostream>

class Base {
public:
    virtual void display() {
        std::cout << "Base class display function" << std::endl;
    }
};

class Derived : public Base {
public:
    void display() override {
        std::cout << "Derived class display function" << std::endl;
    }
};

int main() {
    Base* basePtr = new Derived();
    basePtr->display(); // 輸出 "Derived class display function"
    
    delete basePtr;

    return 0;
}

在上面的例子中,Base類(lèi)中有一個(gè)虛函數(shù)display(),在Derived類(lèi)中重新實(shí)現(xiàn)了這個(gè)虛函數(shù)。在main函數(shù)中,通過(guò)Base類(lèi)的指針指向Derived類(lèi)的對(duì)象,調(diào)用display()函數(shù)時(shí)會(huì)根據(jù)對(duì)象的實(shí)際類(lèi)型來(lái)調(diào)用相應(yīng)的函數(shù),實(shí)現(xiàn)了多態(tài)性。

0