zoukankan      html  css  js  c++  java
  • 函数:显式具体化模板函数 引用结构

    #include <iostream>
    
    template <typename T>
    void Swap(T &a, T &b);
    
    struct job
    {
    	char name[40];
    	double salary;
    	int floor;
    };
    template <> void Swap<job>(job &j1, job &j2);
    void Show(job &j);
    
    int main(void)
    {
    	using std::cout;
    	using std::ios;
    
    	cout.precision(2);
    	cout.setf(ios::fixed, ios::floatfield);
    	
    	int i=10, j=20;
    	cout << "i,j = " << i << ", " << j << ".
    ";
    	cout << "Using compiler-generated int swapper:
    ";
    	Swap(i,j);
    	cout << "Now i, j = " << i << ", " << j << ".
    ";
    	
    	job sue={"Susan Yaffee", 73000.60, 7};
    	job sidney={"Sidney Taffee", 78060.72, 9};
    	cout << "Before job swapping:
    ";
    	Show(sue);
    	Show(sidney);
    	Swap(sue, sidney);
    	cout << "After job swapping:
    ";
    	Show(sue);
    	Show(sidney);
    	
    	return 0;
    }
    
    template <typename T>
    void Swap(T &a, T &b)
    {
    	T temp;
    	temp = a;
    	a = b;
    	b = temp;
    }
    
    template <> void Swap<job>(job &j1, job &j2)
    {
    	double t1;
    	int t2;
    	t1=j1.salary;
    	j1.salary=j2.salary;
    	j2.salary=t1;
    	t2=j1.floor;
    	j1.floor=j2.floor;
    	j2.floor=t2;
    }
    void Show(job &j)
    {
    	using std::cout;
    	
    	cout << j.name << ": $" << j.salary
    	     << " on floor " << j.floor << '
    ';
    }

  • 相关阅读:
    StopAllSounds
    GotoAndPlay
    区间(interval)
    因数(factor)
    [HAOI2009]逆序对数列
    生物分子gene
    数轴line
    [SCOI2008]配对
    精力(power)
    bzoj4987: Tree(树形dp)
  • 原文地址:https://www.cnblogs.com/WALLACE-S-BOOK/p/9732341.html
Copyright © 2011-2022 走看看