MinGW C++

class IntArray {
public:
// 构造函数
 explicit IntArray( int size = DefaultArraySize );
 IntArray( int *array, int array_size );
 IntArray( const IntArray &rhs );
 // 虚拟析构函数
 virtual ~IntArray() ;
 // 等于和不等于操作
 bool operator==( const IntArray& ) const;
 bool operator!=( const IntArray& ) const;
 IntArray& operator=( const IntArray& );
 int size() const;
 // 去掉了索引检查功能 . . .
 virtual int& operator[](int index);
 virtual void sort();
 virtual int min() const;
 virtual int max() const;
 virtual int find( int value ) const;
protected:
// 参见13.5 节的说明
 static const int DefaultArraySize = 12;
 void init( int sz, int *array );
 int _size;
 int *ia;
};

#include <cassert>
using namespace std;
#ifndef IntArray_H
#define IntArray_H
#include "IntArray.h"
    IntArray::IntArray( int size){
  init(size,0);
 }
 IntArray::IntArray( int *array, int array_size ){
  init(array_size,array);
 }
 IntArray::IntArray( const IntArray &rhs ){
  init( rhs._size, rhs.ia );
 }
 // 虚拟析构函数
 IntArray::~IntArray() {
  delete [] ia;
 }
 // 等于和不等于操作
 bool IntArray::operator==( const IntArray& ) const{
  return true;
 }
 bool IntArray::operator!=( const IntArray& ) const{
  return false;
 }
 IntArray& IntArray::operator=( const IntArray& rhs ){
       _size=rhs._size;
  ia=rhs.ia;
  return *this;
 }
 int IntArray::size() const {
  return _size;
 }
 // 去掉了索引检查功能 . . .
 int& IntArray::operator[](int index) {
  return ia[index];
 }
 void IntArray::sort(){
 }
 int IntArray::min() const{
    return 0;
 }
 int IntArray::max() const{
    return 10;
 }
 int IntArray::find( int value ) const{
    return -1;
 }
 void IntArray::init( int sz, int *array ){
  _size = sz;
  ia = new int[ _size ];
  for ( int ix=0; ix < _size; ++ix )
   if ( ! array )
    ia[ ix ] = 0;
   else
    ia[ ix ] = array[ ix ];
 }
 #endif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值