//C++语言 通过类模板实现加法计算器 #include "stdafx.h" #include <iostream> using namespace std; template <class T> class Calculate //声明一个模板类 { public: Calculate(T a, T b); public: T Add(); T Substraction(); void display(); private: T m_a; T m_b; }; template <class T> Calculate<T>::Calculate(T a, T b) { m_a = a; m_b = b; } template <class T> T Calculate<T>::Add() { return m_a + m_b; } template <class T> T Calculate<T>::Substraction() { return m_a - m_b; } template <class T> void Calculate<T>::display() { cout << "a:" << m_a << endl; cout << "b:" << m_b << endl; } int main(int argc, char* argv[]) { Calculate<int> cal1(20, 10); cal1.display(); cout << "Add():" << cal1.Add() << endl; cout << "Substraction():" << cal1.Substraction() << endl; Calculate<double> cal2(100.23, 40); cal2.display(); cout << "Add():" << cal2.Add() << endl; cout << "Substraction():" << cal2.Substraction() << endl; return 0; }