其他分享
首页 > 其他分享> > 类模板

类模板

作者:互联网

类模板使用实例

#include <iostream>
using namespace std;

template<typename T>
class A
{
public:
    A(T t):a(t){}
    T getA()
    {
        return a;
    }
private:
    T a;
};

int main()
{
    A<int> a1(100);    //在定义⼀个对象的时候,要明确此类所泛化的具体类型
    cout<<a1.getA()<<endl;
    A<char> a2('a');
    cout<<a2.getA()<<endl;

    return 0;
}
View Code

 

模板类的派生

#include <iostream>
using namespace std;

template<typename T>
class A
{
public:
    A(T t):a(t){}
    void printA()
    {
        cout<<"a: "<<a<<endl;;
    }
private:
    T a;
};

//模板类派生普通类,子类从模板类继承的时候,需要让编译器知道父类的数据类型具体是什么(数据类型的本质:固定大小内存快的别名)    
class B: public A<int>
{
public:
    B(int t1, int t2):A(t1), b(t2){}
    void printB()
    {
        A::printA();
        cout<<"b: "<<b<<endl;
    }
private:
    int b;
};

//模板类派生模板类
template<typename T>
class C: public A<T>
{
public:
    C(T t1, T t2):A(t1),c(t2){}
    void printC()
    {
        A::printA();
        cout<<"c: "<<c<<endl;
    }
private:
    T c;
};

int main()
{
    B b(1, 2);
    b.printB();

    C<int> c(3, 4);
    c.printC();

    return 0;
}
View Code

 

标签:cout,int,t2,t1,printA,public,模板
来源: https://www.cnblogs.com/xumaomao/p/12969343.html