#include <iostream>
using namespace std;
template <typename T>
class Arr
{
private:
T* p;
int n;
public:
Arr(T a[], int s);
void sort();
void sum();
void show();
};
template <typename T>
Arr<T>::Arr(T a[], int s)
{
p = new T[s];
n = s;
for (int i = 0; i < s; i++)
{
p[i] = a[i];
}
}
template <typename T>
void Arr<T>::sort()
{
for (int i = 0; i < n - 1; i++)
{
int k = i;
for (int j = i + 1; j < n; j++)
{
if (p[k] > p[j]) {
k = j;
if (k != i)
{
int tem;
tem = p[i];
p[i] = p[k];
p[k] = tem;
}
}
}
}
}
template <typename T>
void Arr<T>::sum()
{
T sum1 = 0;
for (int i = 0; i < n; i++)
{
sum1 += p[i];
}
cout << sum1;
}
template <typename T>
void Arr<T>::show(){
for(int i = 0; i < n; i++)
cout << *(p + i);
}
int main()
{
int a[8] = { 2,3,4,6,11,8,9,5 };
Arr<int> a1(a, 8);
cout << "排序:";
a1.sort();
a1.show();
cout << "sum:";
a1.sum();
return 0;
}
编写一个类模板对数组元素进行排序,求和