首页 > 试题广场 >

定义计数器 Counter 类,对其重载运算符 + 。

[问答题]

定义计数器 Counter 类,对其重载运算符 +


推荐

解:

源程序:

typedef unsigned short USHORT;
#include <iostream.h>
class Counter
{
public:
Counter();
Counter(USHORT initialValue);
~Counter(){}
USHORT GetItsVal()const { return itsVal; }
void SetItsVal(USHORT x) {itsVal = x; }
Counter operator+ (const Counter &);
private:
USHORT itsVal;
};
Counter::Counter(USHORT initialValue):
itsVal(initialValue)
{
}
Counter::Counter():
itsVal(0)
{
}
Counter Counter::operator+ (const Counter & rhs)
{
return Counter(itsVal + rhs.GetItsVal());
}
int main()
{
Counter varOne(2), varTwo(4), varThree;
varThree = varOne + varTwo;
cout << "varOne: " << varOne.GetItsVal()<< endl;
cout << "varTwo: " << varTwo.GetItsVal() << endl;
cout << "varThree: " << varThree.GetItsVal() << endl;
return 0;
}

程序运行输出:

varOne: 2

varTwo: 4

varThree: 6



发表于 2018-04-18 20:37:18 回复(0)
Counter.h:
class Counter{
private:
    double x;
public:
    Counter(){x=0.0;}
    Counter(double x1):x(x1){};
    Counter operator +(Counter c){
        return Counter(x+c.x);
    };
    double getX(){return x;};
};

Main.cpp:
#include<iostream>
(720)#include"Counter.h"
using namespace std;
int main(){
    double x,y;
    cout<<"input x:"<<endl;
    cin>>x;
    cout<<"input y:"<<endl;
    cin>>y;
    Counter x1(x);
    Counter y1(y);
    Counter count=x1+y1;
    cout<<"Add Count:"<<count.getX()<<endl;
    return 0;
}
输出结果:
input x:
2.4
input y:
3.0
Add Count:5.4

发表于 2020-03-26 16:38:05 回复(0)