c++

C++类模板如何处理继承关系

小樊
82
2024-11-09 01:23:27
栏目: 编程语言

在C++中,类模板可以处理继承关系,通过使用继承和虚函数可以实现多态。以下是一个简单的示例,展示了如何在类模板中处理继承关系:

#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;
}

在这个示例中,我们定义了一个基类模板Base和一个派生类模板DerivedDerived类模板继承自Base类模板,并重写了基类的print方法。在main函数中,我们创建了一个Derived<int>对象,并通过基类指针调用其print方法。由于多态的存在,实际调用的将是派生类的print方法。

0
看了该问题的人还看了