# (Solved) : Write Program C Given Source File Work Area Assignment Consists Declaration Val Node Decla Q42683273 . . .

Write this program in C++

You are given a source file in your work area for thisassignment.

It consists of a declaration for a Val node. There aredeclarations for three overloaded operator functions, which youmust fill in: operator+, operator*, and operator!.

operator+ should implement addition. operator* should implementmultiplication.

operator! should reverse the digits of its operand (i.e., of”this”) and return the reversed integer. So for example !123 shouldreturn 321.

It should be straightforward to reverse an integer. You canextract the least significant digit by using % 10. You can removethe least significant digit by dividing by 10. Other approaches arepossible as well.

These operator functions should not be a lot of code. Theaddition and multiplication can be written in 1-2 lines, and thereverse function within about 10 lines.

Source Code:

#include
using namespace std;

class Val {
int   v;
public:
Val(int v=0) : v(v) {}

friend ostream& operator<<(ostream&out, const Val& v) {
out << v.v;
return out;
}

Val operator+(const Val& o) const {
// FILL IN
}

Val operator*(const Val& o) const {
// FILL IN
}

Val operator!() const {
// FILL IN
}
};

int main()
{
Val values[] = { 2, 44, 19, 4391 };
const int nv = sizeof(values)/sizeof(values[0]);

for( int i=0; i<nv; i++ ) {
cout << values[i] <<endl;
cout << “!” <<values[i] << ” == ” << !values[i] << endl;

for( int j = i+1; j < nv; j++) {
cout <<values[j] << endl;
cout <<values[i] << ” + ” << values[j] << ” == “
<< values[i] + values[j] <<endl;
cout <<values[i] << ” * ” << values[j] << ” == “
<< values[i] * values[j] <<endl;
}
}

return 0;
}

Answer to Write this program in C++ You are given a source file in your work area for this assignment. It consists of a declaratio…

We are the best freelance writing portal. Looking for online writing, editing or proofreading jobs? We have plenty of writing assignments to handle.