亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

c++多態的實現方式有哪些

c++
小億
93
2024-06-05 16:30:27
欄目: 編程語言

在C++中,多態可以通過虛函數和純虛函數來實現。具體有以下幾種方式:

  1. 虛函數(virtual function):在基類中聲明一個虛函數,派生類可以重寫這個虛函數。當通過基類指針或引用調用這個虛函數時,實際執行的是派生類的版本。這種方式實現的多態稱為動態多態。
class Base {
public:
    virtual void print() {
        cout << "Base class print function." << endl;
    }
};

class Derived : public Base {
public:
    void print() override {
        cout << "Derived class print function." << endl;
    }
};
  1. 純虛函數(pure virtual function):在基類中聲明一個純虛函數,派生類必須實現這個純虛函數。基類對象不能被實例化,只能作為接口使用。這種方式實現的多態稱為靜態多態。
class Base {
public:
    virtual void print() = 0;
};

class Derived : public Base {
public:
    void print() override {
        cout << "Derived class print function." << endl;
    }
};
  1. 函數指針:可以使用函數指針來實現多態,通過函數指針動態調用不同的函數。
void print(Base *obj) {
    obj->print();
}

Base *basePtr = new Derived();
print(basePtr);
  1. 模板(template):可以使用模板來實現多態,通過模板參數動態調用不同的函數。
template<typename T>
void print(T *obj) {
    obj->print();
}

Base *basePtr = new Derived();
print(basePtr);

0
包头市| 邢台县| 宁安市| 柘城县| 仁化县| 六安市| 云林县| 和田县| 象州县| 青田县| 长白| 鄄城县| 湾仔区| 通江县| 平遥县| 惠州市| 威宁| 新平| 永年县| 南川市| 株洲县| 沁源县| 永康市| 全州县| 辽中县| 金坛市| 宁晋县| 乌恰县| 山东省| 丰都县| 竹溪县| 汝阳县| 德州市| 东港市| 旬邑县| 沾益县| 新余市| 车致| 浠水县| 邯郸市| 年辖:市辖区|