⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 19-2.txt

📁 《C/C++完美演绎》源代码
💻 TXT
字号:
/* 范例:19-2 */	
#include <iostream.h>
template<class T>	/* 在类Temp_Class的定义前,加上template<class T> */
class Temp_Class
{
  private:
    T pp;
  public:
    Temp_Class(T a){pp=a;}
    /* 返回值与参数行,因为有同时做赋值的动作,所以没有将其写成Temp_Class<T> &obj */
    Temp_Class& operator+(Temp_Class &obj)
    {
      pp=pp+obj.pp;
      return *this;
    }
    T get_result();
};
/* 成员函数定义在类外,要在类名称之后加上<T> */
template<class T>
T Temp_Class<T>::get_result()
{
  return pp;
}
void main()
{
  const string str1="Steven";
  const string str11="Chang";
  Temp_Class<double> obj1(3.25);	/* 以类Temp_Class建立对象,
                                    将double类型代入T */
  Temp_Class<string> obj2(str1);		/* 以类Temp_Class建立对象,
                                    将string类型代入T */
  Temp_Class<double> obj11(3.321);
  Temp_Class<string> obj22(str11);
  obj1=obj1+obj11;
  obj2=obj2+obj22;
  cout << "对象内数值相加:" << obj1.get_result() << "\n";
  cout << "对象内字符串相加:" << obj2.get_result() << "\n";
  getchar();
}

程序执行结果﹕
对象内数值相加:6.571
对象内字符串相加:StevenChang

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -