1. 程式人生 > >8.18在類模板外定義成員函式,實現3個數求和

8.18在類模板外定義成員函式,實現3個數求和

#include<iostream>
using namespace std;
template<typename T>                                   //模板宣告,其中T為型別引數
class sum{                                             //類模板名為sum
	private:                                
		T x,y,z;
	public:
		sum(T a,T b,T c);
		T add();
		void print();
		~sum()                                        //定義解構函式
		{}
};

template<typename T>
sum<T>::sum(T a,T b,T c)                              //定義建構函式
{
	x=a;
	y=b;
	z=c;
}

template<typename T>
T sum<T>::add()                                     //定義求和函式
{
	return x+y+z;
}

template<typename T>
void sum<T>::print()                               //定義輸出函式
{
	cout<<x<<"  "<<y<<"  "<<z<<endl;
}

int main()
{
	sum<int> s1(4,5,6);
	sum<double> s2(4.4,5.5,6.6);
	cout<<"三個整數分別為:"<<endl;
	s1.print();
	cout<<"三個整數之和為:"<<s1.add()<<endl;
	
	cout<<"三個雙精度數分別為:"<<endl;
	s2.print();
	cout<<"三個雙精度數之和為:"<<s2.add()<<endl;
	
	return 0;
}