C++的通用类template用法

(1)通用类:

                什么是通用类呢?一般情况下,如果一个程序要定义功能相同但是数据类型却不相同的多个类的时候,会不会觉得代码有点冗长呢?明明只是数据类型不一样,却还要为此多定义几个类来实现一样的功能,这个时候,通用类就派上很大的用场了,它只需定义一次,就可以传入不同类型的数据来实现同样的功能。

(2)类声明的实例:

            1.声明:

            template<class genType>//其中genType定义不同的数据类型

            class genclass{

                    genType storage[50];//定义一个genType类型的数组,当然其中的大小也可以自定义

                    ..................//你要实现的功能                    

};

       OR:

               template<class genType,int size>

                class genclass{

                    genType storage[size];//数组大小可自行定义,在调用的时候如果没有定义数组大小,则使用默认值50,

     };      

             2.定义:

                genclass<int>object1;//对第一种类声明定义一个对象

                genclass<int,100>object2;//对第二种类声明定义一个对象

   (3)函数声明的实例:

            例如交换两个数值:

      1.定义:         template<class genType>

                            void swap(genType &n1,genType &n2){

                                            genType temp=n1;

                                             genType n1=n2;

                                             genType n2=temp;

                            }

          2.调用:

                        swap(n,m);//n 和m是int类型

                        swap(x,y);//x,y是float类型

阅读更多
个人分类: arithmetic_learning
上一篇约瑟夫环算法详解
下一篇C++中基类的protect成员的ke访问性
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭