#include <iostream>
using namespace std;

template <typename T>
class Base {
protected:
    T a, b;

public:
    Base(T _a, T _b): a(_a), b(_b) {}
    void show(){
        cout << 'Base a=' << a << ',b=' << b << endl;
    }
};

template <typename T>
class Derive : public Base<T> {
private:
    T c;

public:
    Derive(T _a, T _b, T _c): Base<T>(_a, _b), c(_c) {}
    Derive(T _a, T _b): Base<T>(_a, _b) {
        c = 5.5;
    }
    void show(){
        cout << 'Derive a=' << this->a << ',b=' << this->b << ',c=' << c << endl;
    }
};

int main(){
    Base<int> b(1,2);
    Derive<int> d(3,4,5);
    Derive<int> d2(6,7);
    b.show();
    d.show();
    d2.show();
    return 0;
}
C++ 模板类继承示例:Base 和 Derive 类

原文地址: https://www.cveoy.top/t/topic/nGXI 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录