Assume we have two files

`a.cc`

```
#include <iostream>

int timesTwo(int in);

int main(){
 std::cout << timesTwo(5) << std::endl;
 return 0;
}

```

`b.cc`

```
int timesTwo(int in){
 return in*2;
}

```

is it better to use the linker and include `b.cc` in `a.cc` by `#include "b.cc"` or is it better to leave it as is and compile them like `g++ a.cc b.cc`? What are the circumstance where one is preferred over the other?