## Example: Add Two Complex Numbers

```
class Complex(internal var real: Double, internal var imag: Double)
fun main(args: Array<String>) {
val n1 = Complex(2.3, 4.5)
val n2 = Complex(3.4, 5.0)
val temp: Complex
temp = add(n1, n2)
System.out.printf("Sum = %.1f + %.1fi", temp.real, temp.imag)
}
fun add(n1: Complex, n2: Complex): Complex {
val temp = Complex(0.0, 0.0)
temp.real = n1.real + n2.real
temp.imag = n1.imag + n2.imag
return temp
}
```

When you run the program, the output will be:

Sum = 5.7 + 9.5i

In the above program, we created a class `Complex`

with two member variables: `real` and `imag`. As name suggests, `real` stores real part of a complex number and `imag` stores the imaginary part.

The `Complex`

class has a constructor with initializes the value of `real` and `imag`.

We also created a new static function `add()`

that takes two complex numbers as parameters and returns the result as a complex number.

Inside the `add()`

method, we just add the real and imaginary parts of complex numbers `n1` and `n2`, store it in a new variable `temp` and return `temp`.

Then, in the calling function `main()`

, we print it using `printf()`

function.

Here's the equivalent Java code: Java program to add two complex numbers