cppTest-7.5:重載下標運算符[]

/**
 *cppTest-7.5:重載下標運算符[]
 *
 *下標操作符“[]”是一個二元操作符,在基本類型中,將其作爲數組的下標運算符而使用,自然,其第二個操作數必須是整數,如a[3]。
 *在C++中,可以通過重載來改變這種用法。
 *@@需要說明的是,對下標運算符重載定義只能使用成員函數,而不能採用友元函數。
 *author 煒sama
 */


#include<iostream.h>
class vector{
	float v[4];
public:
	vector()	{ v[0]=v[1]=v[2]=v[3]=0;	}
	float& operator[](int i)	{ return v[i];}//返回引用是必須的,這使vto[2]可以用在賦值運算符的左邊。
};
class matrix{
	vector m[4];	//說明一個有四個元素的對象數組
public:
	vector& operator[](int i){ return m[i];	}
};
void main()
{
	matrix mat1;
	mat1[1][2]=5;
	float m1=mat1[1][2];
	cout<<m1;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章