2009年C++全国卷中的一个问题

vcgaoshou 2009-12-03 07:42:06
a ::不能重载
b 类型转换运算符运算符只能重载为成员函数
c 将运算符作作为非成员函数重载时必须定义为有元
d 重载[]运算符应完成“下标访问”操作

那个描述是错误的?
...全文
321 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
pustian 2009-12-03
  • 打赏
  • 举报
回复
答案应该为d
重载只要求参数一直,属于操作符意义没有做说明
c中楼上所说是全局的运算符重载
在类里只有友元和成员能重载运算符
fallening 2009-12-03
  • 打赏
  • 举报
回复
d 也不对吧?
macrojj 2009-12-03
  • 打赏
  • 举报
回复
C 肯定是错的
D 呢 好像没错。
但是 []必须下标访问 这句话啥子意思
leonmingli 2009-12-03
  • 打赏
  • 举报
回复
答案是 C
dingdingbo 2009-12-03
  • 打赏
  • 举报
回复
c
lovesi3344 2009-12-03
  • 打赏
  • 举报
回复
严重同意
搞得好像高考一样!!!!
看到帖子标题,当时我就震惊了!
神马,竟然还有全国卷!!

[Quote=引用 12 楼 chenyu2202863 的回复:]
2009年C++ 还有全国卷~
[/Quote]
lovesi3344 2009-12-03
  • 打赏
  • 举报
回复
综上所述,一楼最牛
我顶一楼
一眼就看出来了
mstlq 2009-12-03
  • 打赏
  • 举报
回复
例子

class mint
{
public:
mint(int v):value(v){};
mint plus(int rhs)const{return mint(this->value+rhs);}
private:
int value;
};

const mint operator +(const mint& lhs ,int rhs)//不是友元哦
{
return lhs.plus(rhs);
};
int main()
{
mint(0)+1;
return 0;
}
mstlq 2009-12-03
  • 打赏
  • 举报
回复
c
pengzhixi 2009-12-03
  • 打赏
  • 举报
回复
所以这题目纯粹他妈的扯蛋,估计出题的人自己都没弄清楚
kostion 2009-12-03
  • 打赏
  • 举报
回复
c是错的
Jinhao 2009-12-03
  • 打赏
  • 举报
回复
c 将运算符作作为非成员函数重载时必须定义为有元
d 重载[]运算符应完成“下标访问”操作

难道这是一道语文题?考的是"必须"和"应"的区别?
HelloDan 2009-12-03
  • 打赏
  • 举报
回复
可以肯定的是C错了。
d有一个应字,题目讲得的也不是太绝对。
chenyu2202863 2009-12-03
  • 打赏
  • 举报
回复
2009年C++ 还有全国卷~
  • 打赏
  • 举报
回复
c 将运算符作作为非成员函数重载时必须定义为有元

这个错了
niejimaoo 2009-12-03
  • 打赏
  • 举报
回复
错了。应该选C的
重载运算符可以是非成员函数,也非友元函数的普通函数。
谭浩强《C++程序设计》如是说。
pengzhixi 2009-12-03
  • 打赏
  • 举报
回复
d没有错误,你重载一个运算符不要改变原来的语义
niejimaoo 2009-12-03
  • 打赏
  • 举报
回复
感觉是D错了
shangjie95 2009-12-03
  • 打赏
  • 举报
回复
c错了,重载[]虽然可以不做下标访问,但d的描述并没有错
lovesi3344 2009-12-03
  • 打赏
  • 举报
回复
很明显,A B 都是正确的
加载更多回复(1)

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧