返回引用.cpp

来自「ThinkingC++中文版」· C++ 代码 · 共 52 行

CPP
52
字号
#include <iostream>
using namespace std;
#include <memory.h>


class IntArray{
private:
	int* p;
	int size;
public:
	IntArray( int sz = 10) //IntArray a(20);
	{
		p = new int[size = sz];
		::memset(p,0,size*sizeof(int));
	}

	int& operator[](const unsigned suffix)
	{
		if( suffix >= size || suffix < 0)
		{
			cout << "suffix is beyond the mark." << endl;
			exit(0);
		}
		else
			return p[suffix];// *(p+suffix);
	}

	void print()
	{
		for(int i=0;i<size;i++)
			cout << p[i] ;
		cout << endl;
	}

	~IntArray()
	{
		delete[] p;
	}
};

void main()
{
	IntArray a(20);
	a[0] = 1;  //a.operator [](0)
	a[1] = 2;
	a[2] = 3;
	a[3] = 4;
	a.print();

//	for(int i = 0; i < =20; i++)  
//		a[i] = i;
}

⌨️ 快捷键说明

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