首頁  >  文章  >  後端開發  >  如何使用C++模板繼承?

如何使用C++模板繼承?

WBOY
WBOY原創
2024-06-06 10:33:17711瀏覽

C++ 範本繼承允許範本衍生類別重複使用基底類別範本的程式碼和功能,適用於建立具有相同核心邏輯但不同特定行為的類別。模板繼承語法為:template class Derived : public Base { }。實例:template class Base { }; template class Derived : public Base { };。實戰案例:建立了衍生類別Derived,繼承了基底類別Base的計數功能,並增加了printCount方法來列印目前計數。

如何使用C++模板繼承?

C++ 範本繼承

#範本繼承可讓您在衍生類別中重複使用基底類別範本的程式碼和功能。這對於創建共享相同核心邏輯但具有不同特定行為的類別很有用。

語法

template<typename T>
class Base {
  // 基类模板代码
};

template<typename T>
class Derived : public Base<T> {
  // 派生类模板代码
};

實例

#假設我們有以下Base 模板類,它實作了簡單的計數器:

template<typename T>
class Base {
public:
    Base() : count(0) {}
    void increment() { ++count; }
    T getCount() const { return count; }
    
private:
    T count;
};

現在,我們想創建一個Derived 類,它繼承了Base 的計數功能,但也增加了列印當前計數的附加方法:

template<typename T>
class Derived : public Base<T> {
public:
    void printCount() const { cout << "Count: " << getCount() << endl; }
};

實戰案例

以下是使用C++ 模板繼承的實戰案例:

#include <iostream>

int main() {
    Derived<int> counter;
    counter.increment();
    counter.increment();
    counter.printCount(); // 输出: Count: 2
    
    return 0;
}

在這個範例中,我們建立了一個C++ 模板繼承的Derived 類別實例,它提供了Base 類別的計數功能,並增加了printCount 方法來列印目前計數。

以上是如何使用C++模板繼承?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn