溫馨提示×

C++類模板如何處理繼承關(guān)系

c++
小樊
81
2024-11-09 01:23:27
欄目: 編程語言

在C++中,類模板可以處理繼承關(guān)系,通過使用繼承和虛函數(shù)可以實(shí)現(xiàn)多態(tài)。以下是一個(gè)簡單的示例,展示了如何在類模板中處理繼承關(guān)系:

#include <iostream>

// 基類模板
template <typename T>
class Base {
public:
    void print() const {
        std::cout << "Base class" << std::endl;
    }
};

// 派生類模板
template <typename T>
class Derived : public Base<T> {
public:
    void print() const override {
        std::cout << "Derived class" << std::endl;
    }
};

int main() {
    Derived<int> d;
    d.print(); // 輸出 "Derived class"

    Base<int>* b = &d;
    b->print(); // 輸出 "Derived class"

    return 0;
}

在這個(gè)示例中,我們定義了一個(gè)基類模板Base和一個(gè)派生類模板Derived。Derived類模板繼承自Base類模板,并重寫了基類的print方法。在main函數(shù)中,我們創(chuàng)建了一個(gè)Derived<int>對象,并通過基類指針調(diào)用其print方法。由于多態(tài)的存在,實(shí)際調(diào)用的將是派生類的print方法。

0