第八章
2015-07-01 10:39
169 查看
【8.15】编写一个函数模板,求数组中的最大元素,并调用此函数模板的完整程序。#include<iostream>
using namespace std;
template <class Type>
Type max(Type *a)
{ int i,j=0;
for (i=1;i<3;i++)
if (a[i]>a[j])
{ j=i; }
return a[j];
}
int main()
{ int a1[]={1,2,3};
double a2[]={1.1,2.2,3.3};
cout<<max(a1)<<endl;
cout<<max(a2)<<endl;
system("pause");
return 0;
}
【8.17】建立一个用来实现求三个数和的类模板,并调用此类模板的完整程序.
#include<iostream>
using namespace std;
template<typename T>
class Add_3{
public:
Add_3(T a,T b,T c)
{ x=a; y=b; z=c;
}
T sum()
{ return x+y+z;
}
private:
T x,y,z;
};
int main()
{ Add_3<int> s1(1,2,3);
Add_3<double> s2(1.1,2.2,3.3);
cout<<"三个整数的和是:"<<s1. sum()<<endl;
cout<<"三个双精度数的和是:"<<s2.sum()<<endl;
system("pause");
return 0;
}
【8.18】将8.17改写成类模板外定义各成员函数
#include<iostream>
using namespace std;
template<typename T>
class Add_3{
public:
Add_3(T a,T b,T c);
T sum();
private:
T x,y,z;
};
template <typename T>
Add_3<T>::Add_3(T a, T b,T c)
{ x=a; y=b; z=c;
}
template <typename T>
T Add_3<T>:: sum()
{ return x+y+z;
}
int main()
{ Add_3<int> s1(3,7,9);
Add_3<double> s2(12.34,56.78,67.89);
cout<<"三个整数的和是:"<<s1. sum()<<endl;
cout<<"三个双精度数的和是:"<<s2. sum()<<endl;
return 0;
}
using namespace std;
template <class Type>
Type max(Type *a)
{ int i,j=0;
for (i=1;i<3;i++)
if (a[i]>a[j])
{ j=i; }
return a[j];
}
int main()
{ int a1[]={1,2,3};
double a2[]={1.1,2.2,3.3};
cout<<max(a1)<<endl;
cout<<max(a2)<<endl;
system("pause");
return 0;
}
【8.17】建立一个用来实现求三个数和的类模板,并调用此类模板的完整程序.
#include<iostream>
using namespace std;
template<typename T>
class Add_3{
public:
Add_3(T a,T b,T c)
{ x=a; y=b; z=c;
}
T sum()
{ return x+y+z;
}
private:
T x,y,z;
};
int main()
{ Add_3<int> s1(1,2,3);
Add_3<double> s2(1.1,2.2,3.3);
cout<<"三个整数的和是:"<<s1. sum()<<endl;
cout<<"三个双精度数的和是:"<<s2.sum()<<endl;
system("pause");
return 0;
}
【8.18】将8.17改写成类模板外定义各成员函数
#include<iostream>
using namespace std;
template<typename T>
class Add_3{
public:
Add_3(T a,T b,T c);
T sum();
private:
T x,y,z;
};
template <typename T>
Add_3<T>::Add_3(T a, T b,T c)
{ x=a; y=b; z=c;
}
template <typename T>
T Add_3<T>:: sum()
{ return x+y+z;
}
int main()
{ Add_3<int> s1(3,7,9);
Add_3<double> s2(12.34,56.78,67.89);
cout<<"三个整数的和是:"<<s1. sum()<<endl;
cout<<"三个双精度数的和是:"<<s2. sum()<<endl;
return 0;
}
相关文章推荐
- [MySQL] - errno:150
- Android Fragment学习
- 译:使用compass生成能适配retina屏的sprites
- 如何让程序员更容易的开发Web界面?重构SmartAdmin展示TinyUI
- 面试题11:数值的整数次方
- Raphael 目标点沿路径不断移动
- VS2012文本编辑器鼠标不能滚动
- C++中命名空间
- Win10预览版10159快速更新:海量Bug修复+英雄壁纸
- Hyper-V 高可用性 (创建虚拟机)
- Dojo表格与bootstrap 的CSS样式有冲突的问题
- 初识javascript-整理w3c
- java创建token
- cmake configure_file
- LeetCode || Pow(x, n)
- Xcode6集成微信SDK过程出错解决办法
- 学习随笔笔记(未整理)
- Oracle-属性查询
- SAT数学常用代数词汇
- TextView设置成只读