zoukankan      html  css  js  c++  java
  • 类模板

    类模板使用实例

    #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
  • 相关阅读:
    Combox小问题
    数据库登录名,用户,角色以及权限分配
    UDP初识
    AJax 无刷新构建DataTable
    批量修改数据库构架SQL
    Jquery Ajax
    Linq中使用Group By
    对象的消息模型
    P2P网络技术概览与实现原理
    ajax(1)
  • 原文地址:https://www.cnblogs.com/xumaomao/p/12969343.html
Copyright © 2011-2022 走看看