Maybe yes or maybe not, that is, there is no specific reason sometimes for choosing the programming language (This in general) especially in open source projects the language depends a lot on who is part of the project.
Surely C ++ is a ubiquitous language nowadays, just think that java and python were born from this language.
In my opinion, in first the choice of C ++ has been given a lot since the presentation of the idiom to objects, we say that C does not have the classes it is not possible to realize many techniques that are in the everyday reality for current programmers.
Then just think that in 2009 all these "Go" languages were not present.
So my definitive answer is:
"I think that in the periods when bitcoin core was released and in the previous one in which C ++ was developed it was a reference language for object-oriented programming and it was probably better to use an object-oriented language for technical reasons. as hereditary polymorphism.
I believe that this code cannot be written in C above all the transactions
look here in my fork where I'm studying bitcoin core Click me
This is just my thought, I may be wrong.
Sorry for my terrible English but I'm learning