首页 >后端开发 >C++ >如何使用C++模板继承?

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

WBOY
WBOY原创
2024-06-06 10:33:17792浏览

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