面向对象程序设计问答题OOP17模块


1. 分别举例说明用于算法抽象的函数模板和用于数据抽象的类模板。

  • 函数模板
template<class T>
T add( T a, T b )//函数模板
{
    return a + b;
}
add<int> ( 10, 17 );//模板实例
complex c1, c2;
add<complex> ( c1, c2 );
  • 函数模板是对算法相似,但支持的数据类型不同的一组操作的提炼,以提高程序的重用性。函数模板的实例就是一个用于特定类型的普通函数。

  • 类模板

  • 使用类模板使用户可以为类定义一种模式,使得类中的某些数据成员、某些数据成员函数的参数、返回值和局部变量能够取任意类型(包括系统预定义和用户自定义)

class intArray {
  int *array;
  int size;
public:
  intArray( int );
  int& operator[](int); 
};

class charArray {
  char *array;
  int size;
public:
  charArray( int );
  char& operator[](int); 
};

template<class T> class Array
{
   T*  array;
   int size;
 publicArray( int );
   T& operator[ ]( int );
};

文章作者: 保底不歪抽早柚
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 保底不歪抽早柚 !
评论
  目录