C++怎样重载下标运算符 [ ]

来源:互联网 发布:linux临时修改ip 编辑:程序博客网 时间:2024/05/08 15:11

C++怎样重载下标运算符 [ ]

 

请设计一个表示时间、简单但完整的Time类,它包含3个数据成员:hour, minute, second;要求在Time类中重载“[ ]”运算符,如果t是一个Time类的,则t[1]表示hour成员,t[2]表示munute成员,t[3]表示second成员,其他下标都是无效的;在“[ ]”运算符重载函数中使用assert函数对下标进行有效性检查。
在“[ ]”运算符重载函数中使用assert函数对下标进行有效性检查。
#include <assert.h>
class time{ public:  int& operator[](int k)  {   assert( (0<= k) && (k<=100) );   if (k == 1) return hour; else   if (k == 2) return minute; else   return second;  }  int hour, minute, second;};