社区
C++ Builder
帖子详情
请教一下,在 BCB 中如何使用模板?
SCUM
2004-04-04 03:32:50
从来没用过模板
麻烦哪位举个简单的例子说明一下
模板类 模板函数 在 BCB 中的使用。。
谢了
...全文
88
3
打赏
收藏
请教一下,在 BCB 中如何使用模板?
从来没用过模板 麻烦哪位举个简单的例子说明一下 模板类 模板函数 在 BCB 中的使用。。 谢了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
SCUM
2004-04-04
打赏
举报
回复
浅显易懂 真是个好例子。。。
谢谢 ToIP(朽木)!
constantine
2004-04-04
打赏
举报
回复
up
ToIP
2004-04-04
打赏
举报
回复
//---------------------------------------------------------------------------
#ifndef arrayH_
#define arrayH_
#include <assert.h>
//---------------------------------------------------------------------------
template <class elemType>
class Array
{
protected:
int xy(){return 0};
public:
explicit Array( int size = DefaultArraySize );
Array( elemType *array, int size );
Array( const Array &rhs );
virtual ~Array(){ delete [] ia; }
bool operator==( const Array& ) const;
bool operator!=( const Array& ) const;
Array& operator=( const Array& );
int size() const { return _size }
virtual elemType operator[]( int index ){ return ia[ index ]; }
virtual int sort();
virtual elemType min() const;
virtual elemType max() const;
virtual int find(const elemType &value) const;
private:
int init( elemType *rhs, int size );
static const int DefaultArraySize = 12;
int _size;
elemType *ia;
};
template< class elemType >
inline
int
Array< elemType >::
init( elemType *array, int size )
{
_size = size;
ia = new elemType[ _size ];
for( int ix=0; ix<_size; ix++ )
{
if( array!=0 )
ia[ ix ] = array[ ix ];
else
ia[ ix ] = ia[ 0 ];
}
return 0;
}
template< class elemType >
Array< elemType >::
Array( int size)
{
init( 0, size );
}
template< class elemType >
Array< elemType >::
Array( elemType *array, int size )
{
init( array, size );
}
template< class elemType >
Array< elemType >::
Array( const Array &rhs )
{
init( rhs.ia, rhs._size );
}
template< class elemType >
bool
Array< elemType >::
operator==( const Array< elemType > &rhs ) const
{
if( _size != rhs._size )
return false;
else
for( int ix=0; ix<_size; ix++ )
{
if( ia[ ix ]!=rhs.ia[ ix ] )
return false;
}
return true;
}
template< class elemType >
bool
Array< elemType >::
operator!=( const Array< elemType > &rhs ) const
{
if( _size != rhs._size )
return true;
else
for( int ix=0; ix<_size; ix++ )
{
if( ia[ ix ]!=rhs.ia[ ix ] )
return true;
}
return false;
}
template< class elemType >
Array< elemType >&
Array< elemType >::
operator=( const Array &rhs )
{
delete [] ia;
_size = rhs._size;
ia = new elemType[ _size ];
for( int ix=0; ix<_size; ix++ )
{
ia[ ix ] = rhs.ia[ ix ];
}
return *this;
}
template< class elemType >
int
Array< elemType >::
sort()
{
return 0;
}
template< class elemType >
elemType
Array< elemType >::
min() const
{
return ia[ 0 ];
}
template< class elemType >
elemType
Array< elemType >::
max() const
{
return ia[ 0 ];
}
template< class elemType >
int
Array< elemType >::
find(const elemType &value) const
{
return 0;
}
#endif
只写了个空架子,函数的内容没有写,呵呵
论C++学习
很多人把学习C++语言当成学习VC了,我曾经就走过这样的弯路。当学了很长时间的VC后还是得回过头来学习C++语言本身。 那么学习C++从何处入手呢? C++语言相对于C语言来说引入了两个大的新东西,一个就是面向对象(具体来将就是类),另外就是
模板
技术(
模板
编程或者叫泛型编程是进来非常流行的技术,在C#
中
虽然还没有对泛型编程的支持,但是相信在将来也一定会加入这一功能),
模板
是C++
中
...
C++Builder的基本功能
C++Builder的基本功能 我们用高级语言写程序,我们很得意,因为高级语言比较接近人类的语言,使我们用起来得心应手,所以我们当然得意。但我们更得意的一定是让程序代码赶快变成可执行文件。 无论是在写代码的过程,还是最后要编译成可执行文件,都需要有一个工具存在。这一工具一般称为编程集成环境(IDE)。...
C/C++ C++ / 面向对象 FAQ
C/C++ C++ / 面向对象 对象与类 成员函数、全局函数和友元函数的差别? 写一个c++的类时,对于成员函数,私有变量的考虑好吗? 关于const 在const reference parameter
中
使用
的大不解 C++
中
虚函数和纯虚函数的概念,差别和分别存在的原因 为何析构函数
中
的cout不起作用 请高
java
中
使用
OpenSSL生成的RSA公私钥进行数据加解密
java
中
使用
OpenSSL生成的RSA公私钥进行数据加解密 本文出处:http://blog.csdn.net/chaijunkun/article/details/7275632,转载请注明。由于本人不定期会整理相关博文,会对相应内容作出完善。因此强烈建议在原始出处查看此文。 RSA是什么:RSA公钥加密算法是1977年由Ron Ri
C/C++ C++ / 面向对象
对象与类 成员函数、全局函数和友元函数的差别? 写一个c++的类时,对于成员函数,私有变量的考虑好吗? 关于const 在const reference parameter
中
使用
的大不解 C++
中
虚函数和纯虚函数的概念,差别和分别存在的原因 为何析构函数
中
的cout不起作用 请高手介绍一
C++ Builder
13,826
社区成员
102,678
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章