• 类模板 template<class T>


    参考网址:http://c.biancheng.net/cpp/biancheng/view/213.html

    // demo3.cpp : 定义控制台应用程序的入口点。
    //
    
    #include "stdafx.h"
    #include <iostream>
    using namespace std;
    
    template <class T>
    class test
    {
    private:
    	T a,b;
    public:
    	test(T m,T n)
    	{
    		a=m;
    		b=n;
    	}
    	T max()
    	{
    		return (a>b)?a:b;
    	}
    	T min();
    };
    template<class T>
    T test<T>::min()
    {
    	return (a>b)?b:a;
    };
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	test <int> test1(2,3);
    	cout<<test1.max()<<endl;
    	cout<<test1.min()<<endl;
    	test<float> test2(32.12,12.458);
    	cout<<test2.max()<<endl;
    	cout<<test2.min()<<endl;
    	test<char> test3('a','A');
    	cout<<test3.max()<<endl;
    	cout<<test3.min()<<endl;
    	return 0;
    }
    

     使用类模板的好处就是,可以实现类的成员函数的复用而不用受数据类型的影响。

    需要注意的,当把成员函数的实现放在类的外部时,例如上述test类的min()函数,需要加上:

    template<class T>   //必不可少的
    T test<T>::min()    //不要忘记<T>

    main函数中定义test类的实例化对象时,也需要注意格式。

  • 相关阅读:
    1004. Counting Leaves (30)
    51Nod 1272 最大距离 (栈或贪心)
    D
    M
    N
    F
    E
    L
    A. Office Keys ( Codeforces Round #424 (Div. 1, rated, based on VK Cup Finals) )
    K
  • 原文地址:https://www.cnblogs.com/audi-car/p/4391573.html
Copyright © 2020-2023  润新知