标题:麻烦各位看下这个运算符重载的小程序怎么就CE了?
只看楼主
lxs_nicecode
Rank: 2
等 级:论坛游民
威 望:1
帖 子:9
专家分:32
注 册:2015-12-27
结帖率:100%
 问题点数:0 回复次数:3 
麻烦各位看下这个运算符重载的小程序怎么就CE了?

一个简单的运算符重载题目,提交后OJ显示是CE。。。编译不通过,但网站又不给看到底是哪儿没通过,但是我自己试了完全没有任何问题
希望各位帮忙找下错误,下面是小弟写的代码:
程序代码:
#include <iostream>
using namespace std;

class MyInt{
    private:
        int nVal;
    public:
        MyInt(int n) {nVal = n;}
        int ReturnVal() {return nVal;}
        MyInt& operator-(int x);
};

MyInt& MyInt::operator-(int x)
{
    nVal -= x;
    return *this;
}

int main()
{
    MyInt objInt(10);
    objInt-2-1-3;
    cout << objInt.ReturnVal();
    cout << ',';
    objInt-2-1;
    cout << objInt.ReturnVal();
    return 0;
}

搜索更多相关主题的帖子: 网站 网站 
2016-01-22 19:14
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
得分:0 
我编译也能通过。
2016-01-23 17:09
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
得分:0 
题意要求的是编在类里面,你把类函数写类外面,虽然可行,可能不符合题意,如下修改也可正常,楼主试试(学无止境啊,对函数重载、运算符重载完全0,还好擅长调试):
程序代码:
#include <iostream>
using namespace std;

class MyInt{
    private:
        int nVal;
    public:
        MyInt(int n) {nVal = n;}
        int ReturnVal() {return nVal;}
        MyInt& operator-(int x)
        {
            nVal-=x;
            return *this;
        }
};

int main()
{
    MyInt objInt(10);
    objInt-2-1-3;
    cout << objInt.ReturnVal();
    cout << ',';
    objInt-2-1;
    cout << objInt.ReturnVal();
    return 0;
}




能编个毛线衣吗?
2016-01-23 17:25
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
得分:0 
这种区别可以不算区别。
2016-01-23 23:31



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-461276-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.240589 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved