中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

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
合肥市| 吉木乃县| 宜君县| 轮台县| 兴隆县| 龙口市| 怀来县| 宁城县| 广灵县| 武安市| 陕西省| 合肥市| 延庆县| 德江县| 常德市| 宁阳县| 渝中区| 尼玛县| 新巴尔虎左旗| 南阳市| 桃园市| 苏尼特右旗| 上思县| 和平区| 遂川县| 麻江县| 达孜县| 彭阳县| 霍山县| 宜城市| 司法| 江山市| 荔浦县| 广宁县| 双柏县| 定结县| 保山市| 筠连县| 象州县| 扶风县| 铅山县|