zoukankan      html  css  js  c++  java
  • 类模板继承问题

    基类如果是模板类,必须让子类告诉编译器 基类中的T到底是什么类型

    如果不告诉,那么无法分配内存,编译不过

    利用参数列表class Child :public Base<int>

    #define _CRT_SECURE_NO_WARNINGS
    #include <iostream>
    using namespace std;
    
    template<class T>
    class Base
    {
    public:
        T m_A;
    };
    //Child继承Base时 必须要告诉Base中的T的类型, 否则T无法分配内存
    class Child :public Base<int>
    {
    
    };
    //Child2也是模板类的时候
    template <class T1, class T2>
    class Child2 :public Base<T2>   //必须要分一个泛型给Base
    {
    public:
        Child2()
        {
            cout << "T1类型:" << typeid(T1).name() << endl;
            cout << "T2类型:" << typeid(T2).name() << endl;
        }
        T1 m_B;
    };
    void test01()
    {
        Child2<int, double> child;      //指定类型
    }
    
    int main()
    {
        test01();
        system("Pause");
        return 0;
    }

    结果:

  • 相关阅读:
    as
    留言板
    HEOI2020游记
    min_25筛学习笔记
    计算几何初步
    「狗屁不会」exlucas
    GCD of Sequence
    做题记录
    一些奇怪的坑+好东西
    关于我
  • 原文地址:https://www.cnblogs.com/yifengs/p/15181163.html
Copyright © 2011-2022 走看看