cpp 8.11

来源:互联网 发布:知柏地黄丸方歌 编辑:程序博客网 时间:2024/06/07 10:10

8.11

#include<iostream>template <typename T>void Swap(T &a, T &b);int main(){using namespace std;int i = 10;int j = 20;cout << "i, j = " << i << ", " << j << ".\n";cout << "Using complier-generated int swapper:\n";Swap(i, j);cout << "Now i, j = " << i << ", " << j << ".\n";double x = 24.5;double y = 81.7;cout << "x, y = " << x << ", " << y << ".\n";cout << "Using compiler-generated int swapper:\n";Swap(x, y);cout << "Now x, y = " << x << ", " << y << ".\n";system("pause");return 0;}template <typename T>void Swap(T &a, T &b){T temp;temp = a;a = b;b = temp;}


8.12

#include <iostream>template <typename T>void Swap (T &a, T &b);template <typename T>void Swap(T *a, T*b, int n);void show(int a[]);const int Lim = 8;int main(){using namespace std;int i = 10, j = 20;cout << "i, j = " << i << ", " << j << ".\n";cout << "Using compiler-generated int swapper:\n";Swap(i, j);cout << "Now i, j= " << i << ", " << j << ".\n";int d1[Lim] = { 0,7,0,4,1,7,7,6 };int d2[Lim] = { 0,7,2,0,1,9,6,9 };cout << "Original arrays:\n";show(d1);show(d2);Swap(d1, d2, Lim);cout << "Swapped arrays:\n";show(d1);show(d2);system("pause");return 0;}template <typename T>void Swap(T &a, T &b){T temp;temp = a;a = b;b = temp;}template<typename T>void Swap(T a[], T b[], int n){T temp;for (int i = 0; i < n; i++){temp = a[i];a[i] = b[i];b[i] = temp;}}void show(int a[]){using namespace std;cout << a[0] << a[1] << "/";cout << a[2] << a[3] << "/";for (int i = 4; i < Lim; i++)cout << a[i];cout << endl;}


8.13

#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(){using namespace std;cout.precision(2);cout.setf(ios::fixed, ios::floatfield);int i = 10, j = 20;cout << "i,j = " << i << ", " << j << ".\n";cout << "Using compiler-generated int swapper:\n";Swap(i, j);cout << "Now i, j = " << i << ", " << j << ".\n";job sue = { "Susan Yaffee", 73000.60, 7 };job sidney = { "Sidney Taffee", 78060.72, 9 };cout << "Before job swapping:\n";Show(sue);Show(sidney);Swap(sue, sidney);cout << "After job swapping:\n";Show(sue);Show(sidney);system("pause");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 namespace std;cout << j.name << ": $" << j.salary<< " on floor " << j.floor << endl;}


0 0
原创粉丝点击