Hello, everyone. I'm learning C++ after coming from a C background. C++ does my head in by complicating things that in C can be assumed to be simple! Could someone please clarify for me *exactly* what operations are generated by the following lines of code - constructors, copying, assignment, etc?

Code:
1.  int i = 0;
2.  int i ; i = 0;
3.  int i(0);
4.  int i {0};
Am I able to overload all of those operations for int? Is there any difference between "int" and a user-defined type in terms of which operations I am able to overload?

Richard