Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- using namespace std;
- class ComplexNumber
- {
- private:
- double m_Real;
- double m_Img;
- public:
- ComplexNumber(double inReal, double inImg);
- void Print();
- friend class Compute;
- };
- //constructor of class ComplexNumber defined outside of class ComplexNumber
- ComplexNumber::ComplexNumber(double inReal = 0.0, double inImg = 0.0)
- {
- m_Real = inReal;
- m_Img = inImg;
- };
- //member function of class ComplexNumber defined outside of class ComplexNumber
- void ComplexNumber::Print()
- {
- if (m_Img > 0){
- cout << m_Real << " " << m_Img << "+" << "i" << endl;
- }
- else
- {
- cout << m_Real << " " << m_Img << "i" << endl;
- }
- };
- class Compute
- {
- public:
- static ComplexNumber Multiply(const ComplexNumber &inA, const ComplexNumber &inB);
- static double Magnitude(const ComplexNumber &in);
- };
- ComplexNumber Compute::Multiply(const ComplexNumber &inA, const ComplexNumber &inB)
- {
- double Multiply = ((inA.m_Real*inB.m_Real) - (inA.m_Img*inB.m_Img)) + ((inA.m_Real*inB.m_Img) + (inA.m_Img*inB.m_Real));
- return Multiply;
- };
- double Compute::Magnitude(const ComplexNumber &in)
- {
- double Magnitude = sqrt(pow(in.m_Real,2.0)+pow(in.m_Img,2.0));
- return Magnitude;
- };
- int main(){
- ComplexNumber *v1 = new ComplexNumber(38.5,25.5);
- /*ComplexNumber v1(38.5, 25.5);*/
- ComplexNumber *v2 = new ComplexNumber(10.4, -31.6);
- /*ComplexNumber v2(10.4, -31.6);*/
- ComplexNumber v3;
- cout << "Complex Num 1: ";
- v1[0].Print();
- cout << "Complex Num 2: ";
- v2[0].Print();
- cout << endl;
- cout << "Complex Num1 x Complex Num2: ";
- /*Compute::Multiply(*v1, *v2);
- ComplexNumber.Print();
- v3.Print();
- cout << endl;
- cout << "Magnitude of Complex Num 1: ";
- v1[2] = Compute::Magnitude(v1[0]);
- v1[2].Print();*/
- //cout << comnum1;
- //cout << endl;
- //cout << "Magnitude of Complex Num 2: ";
- //double comnum2 = Compute::Magnitude(v2);
- //cout << comnum2;
- cout << endl;
- //delete[] v1;
- //delete[] v2;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement