为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C++
SMILET 2019-04-08 04:04:59
请设计一个表示时间、简单但完整的Time类,它包含3个数据成员:hour, minute, second;要求在Time类中重载“[ ]”运算符,如果t是一个Time类的,则t[1]表示hour成员,t[2]表示munute成员,t[3]表示second成员,其他下标都是无效的;在“[ ]”运算符重载函数中使用assert函数对下标进行有效性检查。在“[ ]”运算符重载函数中使用assert函数对下标进行有效性检查。 这个是什么意思
查看完整描述

3 回答

?
千巷猫影

TA贡献1829条经验 获得超7个赞

给个示例,以楼上代码为基础,再包含头文件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;
};



查看完整回答
反对 回复 2019-04-09
?
哔哔one

TA贡献1854条经验 获得超8个赞

class time
{
public:
int& operator[](int k)
{
if (k == 1) return hour; else
if (k == 2) return minute; else
return second;
}
int hour, minute, second;
};

 

查看完整回答
反对 回复 2019-04-09
  • 3 回答
  • 0 关注
  • 510 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信