On Wednesday, 21 July 2021 at 12:08:21 UTC, Tim Gunesh wrote:
Is it possible to define methods outside the class in C ++ style? Something like this:

```d
class Parent{
   void Print();
}

void Parent.Print(){
   writeln("Hello, D!");
}
```

No, it's not possible.

However, [uniform function call syntax][1] allows functions defined outside of a class to be called as though they were methods. For example:

```d
class Parent {}

void Print(Parent p)
{
    writeln("Hello, D!");
}

void example()
{
    Parent p = new Parent;
    p.Print(); // passes `p` as first argument
}
```

[1]: https://tour.dlang.org/tour/en/gems/uniform-function-call-syntax-ufcs

Reply via email to