问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C++_operator[]重载[]

发布网友 发布时间:2023-08-01 08:01

我来回答

2个回答

热心网友 时间:2023-09-06 09:05

这个正常啊~

for (int i = 0; i < 8; ++i) 
    a[i] = ch[i];

你的i<8, 这样当i>5后,你返回的都是a[5],那么c[6],c[7]都会覆盖a[5],而:

char *ch = "helloaa";

实际长度是7,因此c[7]指向结尾的'\0', 因此最后a的输出实际是:

”hello “

主语最后的那个空格~~~


追问谢谢啊。正解就是把‘/0’传过去了。

追答

不客气,对你有帮助就好~

模拟了一下你的类,大致应该这样:

class A {
public:
    A(int a = 0) : length(a) { 
        if (length > 0) size = new char[a+1]; // 这里 +1
        else size = NULL;
    }
    A(const A& rhs) {...}
    A& operator=(const A& rhs) {...}
    ~A() {delete[] size;}    
    size_t getSize() const {return length;}
    char& operator[](int i) {
        if (i>=0 && i < length) {
            return size[i];
        }
        else {
            cout << "overflow :" << i << endl;
            return size[length]; // 这里!
        }
    }
private:
    size_t length;        
    char *size;
};

热心网友 时间:2023-09-06 09:06

我还是第一次知道能这样重载运算符。我觉得你在重载[]函数里边又调用的[],这不就造成了递归调用了吗追问不会递归。这重载[]是针对 对象[]重载。而不是所有数组[] 。
想递归很简单啊。在重载[]代码里面定义一个 对象two 然后retuan two[]。这就死递归了

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
大同四区和市区的区别 大同云冈属于哪里 大同市云冈区建成区范围都有哪些 it wasn't long before i found a job.---before是什么意思 It wasn't long before a man from It wasn't long before和It won't be long before有什么区别吗? it wasn't long before和it won't be long before有什么不同?_百度知 ... 微信怎么查和一个好友的红包记录 马龙巴黎奥运会夺冠了吗 明天是中国的情人节??? 运算符重载 &,有些时候函数声明在operator前有&……有时候没有……为 ... 下列关于运算符重载不正确的是( )。 考2B军校的经验… c++中运算符(\&quot; &lt;&lt; \&quot;)重载ostream&是什么意思 C++,operator重载的运算符我还是有一点不太懂.就是它的参数.单目的参数... 宁夏医科大学2022录取分数线 19851107是什么星座 1990年农历1107星座 1107是什么星座啊性别导致的性格差异 秦卫东从辽宁电视台门岗到著名演员,他这一路是如何走来的? 2023年国家对精神病患者有那些优慧政策? 战地一剧情怎么拼刺刀 成都中德苹果社区房价多少钱一平? 延边苹果社区房价多少钱一平? 长沙东业苹果社区物业电话是多少 向上舍入是什么意思? 停车饭店自己开车碰了 怎么找? 自己开车碰了一点怎么办 treechada marnyaporn怎么读 混凝土养护剂一平方用量多少?旧的混凝土地面可以达到养护效果吗? 建行etc透支了2万,怎么分期还款最划算 资阳中车能学到东西吗 资阳产的DF4B内燃机车停产没? 我的生活我做主,十二星座女哪个恋爱中掌控欲最强 沈阳大东上品中学,在哪?急求!!! 沈阳七中南校区最好的初三是哪个班? 跪求R1SE赵让-VIOLET音乐百度网盘资源 非洲土狗和鬣狗区别 一边绿,一边红,一边喜雨怕虫,一边怕水喜风。打一字 一半兰绿,一边红,一边喜雨,一边喜风,一边帕虫,一边怕水。迷底是秋? 孩子每天晚上发烧不吃药睡一觉就没事了是怎么回事? 三岁的孩子经常晚上突然发烧,没有治疗第二天又好了,有没有问题_百度知... 茯苓坐月子和哺乳期可以吃吗 哺乳期可以喝茯苓水吗 dnf助手怎么隐藏排行榜 宠物小精灵bw里面,美洛耶塔是真的喜欢小智吗?(作为男生的那种喜欢) 水莲和玛奥喜欢小智吗 二战时的德国宪兵司令是什么军衔?? 准女婿可以称呼李姓女为李阿姨吗 已经上过门了,但是没有领证,算准女婿还是毛脚女婿?