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

📄 array.h

📁 C++ PRIME书中的原代码,看本书时可以学习的例子.
💻 H
字号:
#ifndef ARRAY_H
#define ARRAY_H

#include <iostream>
using std::ostream;
using std::cout;
using std::endl;

template <class elemType> class Array;
template <class elemType> ostream&
          operator<<( ostream &, Array<elemType> & );

template <class elemType>
class Array {
public:
    // explicit Array( int sz = DefaultArraySize )
    Array( int sz = DefaultArraySize )
         { init( 0, sz ); }

    Array( const elemType *ar, int sz )
         { init( ar, sz ); }

    Array( const Array &iA )
         { init( iA._ia, iA._size ); }

    ~Array() { delete[] _ia; }

    Array & operator=( const Array & );
    int size() const { return _size; }

    elemType& operator[]( int ix ) const { return _ia[ix]; }

    ostream &print( ostream& os = cout ) const;
    void grow();
    void sort( int,int );
    int find( elemType );

    elemType min();
    elemType max();

private:
    void init( const elemType*, int );
    void swap( int, int );

    // static const int DefaultArraySize = 12;
    static const int DefaultArraySize;
    int       _size;
    elemType *_ia;
};

#endif

⌨️ 快捷键说明

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