intarrayrc.h

来自「C++ Primer(第三版)的随书源代码」· C头文件 代码 · 共 39 行

H
39
字号
#ifndef IntArrayRC_H
#define IntArrayRC_H

#include "IntArray.h"
#include <assert.h>
// #include <cassert>

class IntArrayRC : public IntArray {
public:
   	IntArrayRC( int sz = DefaultArraySize );
   	IntArrayRC( const int *array, int array_size );
   	IntArrayRC( const IntArrayRC &rhs );

   	virtual int& operator[]( int ) const;

private:

   	void check_range( int ix ) const {
 	     assert( ix >= 0  && ix < _size );
	}
};

inline int&
IntArrayRC::operator[]( int index ) const
{
   	check_range( index );
   	return _ia[ index ];
}

inline IntArrayRC::IntArrayRC( int sz)
   	: IntArray( sz ) {}

inline IntArrayRC::IntArrayRC( const int *iar, int sz )
   	: IntArray( iar, sz ) {}


#endif

⌨️ 快捷键说明

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