POJ C++程序设计 编程题#1 编程作业—运算符重载

来源:互联网 发布:distinct在MySQL的用法 编辑:程序博客网 时间:2024/06/16 11:07

编程题 #2

来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)

注意: 总时间限制: 1000ms 内存限制: 65536kB

描述

下面的MyInt类只有一个成员变量。MyInt类内部的部分代码被隐藏了。假设下面的程序能编译通过,且输出结果是:

4,1

请写出被隐藏的部分。(您写的内容必须是能全部放进 MyInt类内部的,MyInt的成员函数里不允许使用静态变量)。

#include <iostream>using namespace std;class MyInt {    int nVal;    public:        MyInt(int n) { nVal = n; }        int ReturnVal() { return nVal; }// 在此处补充你的代码};int main () {    MyInt objInt(10);    objInt-2-1-3;    cout << objInt.ReturnVal();    cout <<",";    objInt-2-1;    cout << objInt.ReturnVal();    return 0;}

 

输入

 

输出

4,1

 

样例输入

 

样例输出

4,1

 

复制代码
 1 #include <iostream> 2 using namespace std; 3 class MyInt { 4     int nVal; 5 public: 6     MyInt(int n) { nVal = n; } 7     int ReturnVal() { return nVal; } 8 // 在此处补充你的代码 9     MyInt & operator-(int i) {10         nVal -= i;11         return *this;12     }13 };14 int main () {15     MyInt objInt(10);16     objInt-2-1-3;17     cout << objInt.ReturnVal();18     cout <<",";19     objInt-2-1;20     cout << objInt.ReturnVal();21     return 0;22 }

0 0
原创粉丝点击