# C++ Program to Implement Complex Numbers using Classes

C++ Program to Implement Complex Numbers using Classes :

What is a complex number?
Complex numbers
are numbers that are expressed as a+bi where i is an imaginary number and a and b are real numbers.

## C++ Program to Implement Complex Numbers using Classes

``````#include <iostream>
using namespace std;
//**********COMPLEX CLASS************************
class Complex{

private:
double real,imag;

public:
Complex(){
real=imag=0;
}
///////////////////////////////////////////////////
Complex(double r){
real=r;
imag=0;
}
///////////////////////////////////////////////////
Complex(double r, double i){
real=r;
imag=i;
}
///////////////////////////////////////////////////
Complex(Complex &obj){
real=obj.real;
imag=obj.imag;
}
///////////////////////////////////////////////////
Add.real = real + c.real;
Add.imag = imag + c.imag;
}
///////////////////////////////////////////////////
Complex sub(Complex c){
Complex Sub;
Sub.real = real - c.real;
Sub.imag = imag - c.imag;
return Sub;
}
///////////////////////////////////////////////////
Complex mult(Complex c){
Complex Mult;
Mult.real = real*c.real - imag*c.imag;
Mult.imag = real*c.imag - c.real*imag;
return Mult;
}
///////////////////////////////////////////////////
Complex div(Complex c){
Complex Div;
Div.real = (real*c.real + imag*c.imag)/(c.real*c.real + c.imag*c.imag);
Div.imag = (imag*c.real + real*c.imag)/(c.real*c.real + c.imag*c.imag);
return Div;
}
///////////////////////////////////////////////////
void print(){
cout<<real<<"+"<<imag<<"i"<<endl<<endl;
}
///////////////////////////////////////////////////
double getReal() const{
return real;
}
///////////////////////////////////////////////////
double getImag() const{
return imag;
}
///////////////////////////////////////////////////
void setReal(double re){
real = re;

}
///////////////////////////////////////////////////
void setImag(double im){
imag = im;
}
///////////////////////////////////////////////////

};

//***************MAIN***************************
int main()
{
double real1,imag1,real2,imag2;

cout<<"Enter the Real  part of First Number: ";
cin>>real1;
cout<<"Enter the imaginary  part of First Number: ";
cin>>imag1;
Complex obj1(real1,imag1);
obj1.print();

cout<<"Enter the Real part of Second Number: ";
cin>>real2;
cout<<"Enter the Imaginary part of second number: ";
cin>>imag2;
Complex obj2(real2,imag2);
obj2.print();

Complex c;
cout<<"Addition is : ("<<c.getReal()<<")+("<<c.getImag()<<")i"<<endl;
c= obj1.sub(obj2);
cout<<endl<<"Subtraction is : ("<<c.getReal()<<")+("<<c.getImag()<<")i"<<endl;

c= obj1.mult(obj2);
cout<<endl<<"Multiplication is : ("<<c.getReal()<<")+("<<c.getImag()<<")i"<<endl;

c= obj1.div(obj2);
cout<<endl<<"Division result  is : ("<<c.getReal()<<")+("<<c.getImag()<<")i"<<endl;
return 0;
}``````

Output of Program

Enter the Real part of First Number: 5
Enter the imaginary part of First Number: 4
5+4i

Enter the Real part of Second Number: 2
Enter the Imaginary part of second number: 36
2+36i

Addition is : (7)+(40)i

Subtraction is : (3)+(-32)i

Multiplication is : (-134)+(172)i

Division result is : (0.118462)+(0.144615)i

Categories C++