Question: C++ Create a class called Complex for performing arithmetic with complex numbers. Write a program to test your class. Complex numbers have the form realPart

C++ Create a class called Complex for performing arithmetic with complex numbers. Write a program to test your class. Complex numbers have the form realPart + imaginaryPart * i

where i is:

Use double variables to represent the private data of the class.

Provide a constructor that enables an object of this class to be initialized when its declared. The constructor should contain default values in case no initializers are provided.

Provide these public member functions that perform the following tasks:

add Adding two Complex numbers: The real parts are added together and the imaginary parts are added together.

subtract Subtracting two Complex numbers: The real part of the right operand is subtracted from the real part of the left operand, and the imaginary part of the right operand is subtracted from the imaginary part of the left operand.

multiply Multiplying two Complex numbers: The real part of the right operand is multiplied by the real part of the left operand, and the imaginary part of the right operand is multiplied by the imaginary part of the left operand.

toString For printing any Complex numbers, this function returns string representations of them. Consider using std::ostringstream for this function.

setComplexNumber Set the Complex numbers in the form (a , b ), where a is the real part and b is the imaginary part. This function is used to reset the numbers between each test case to the original.

This is what is given for it:

#include #include #include // for ostringstream class

// build your class and member functions here

int main() { for (double i = 1; i < 100; ++ i) { Complex a{i * 2, i + 2}; Complex b{i * 3, i + 3};

Complex c = a.add(b); // invoke add function and assign to object c std::cout << "Test case for Complex: add " << std::endl; std::cout << a.toString() << " + " << b.toString() << " = " << c.toString() << std::endl;

a.setComplexNumber(i * 2, i + 2); // reset realPart and b.setComplexNumber(i * 3, i + 3); // and imaginaryPart

std::cout << "Test case for Complex: subtract " << std::endl; c = a.subtract(b); // invoke subtract function and assign to object c std::cout << a.toString() << " - " << b.toString() << " = " << c.toString() << std::endl; std::cout << std::endl;

a.setComplexNumber(i * 2, i + 2); // reset realPart and b.setComplexNumber(i * 3, i + 3); // and imaginaryPart

std::cout << "Test case for Complex: multiply " << std::endl; c = a.multiply(b); // invoke multiply function and assign to object c std::cout << a.toString() << " * " << b.toString() << " = " << c.toString() << std::endl; std::cout << std::endl; }

}

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!