类模板机制

1. 基本概念

   是对一批仅仅成员数据类型不同的类的抽象,程序员只要为这一批类所组成的整个类家族创建一个类模板,给出一套程序代码,就可以用来生成多种具体的类。

   总结以下两点:

   1)类模板用于实现类所需数据的类型参数化。

   2)类模板在表示如数组、表、图等数据结构显得特别重要,这些数据结构的表示和算法不受所包含的元素类型的影响。

   类模板基本语法举例:

// 参数化一个类型T,允许参数化多个类型
template<typename T>
class A 
{
public:
    A(T t) { this->t = t; }
    T &getT() { return t; }

public:
    T t;
};

// 子类从模板类继承的时候,需要让编译器知道父类的数据类型具体是什么
class B : public A<int>
{
public:
    B(int i) : A<int>(i) {}
    void printB() { cout << "A:" << t << endl; }
};

int main()
{
    A<int> a(100);  // 需要提供类型参数
    int x = a.getT();
    B b(10);
    b.printB();
    return 0;
}

  

  

扫描二维码关注公众号,回复: 11256411 查看本文章

猜你喜欢

转载自www.cnblogs.com/yanghh/p/12945885.html