I'm wondering if copy constructor is called or not. If the answer is "No", I don't know what happens. Could you tell me if you know answer for my question?
void func1(someClassA& obj_a)
{
 SomeClassB obj_b;
 obj_b.someClassA = obj_a; // this is the part I want to ask you!
 obj_b.parameter = something;
 func2(obj_b);
}
2 Answers 2
In the line you commented, there is no difference when using someClassA& (reference) or someClassA (copy)
A reference is an alias [1] (another name) for the same variable. So you don't pass a pointer, and you don't copy the variable, but you send the reference-to-the-variable. You can use the reference just like the variable itself, because it IS actually referencing the original variable.
The commented line isn't affected by this at all. However the copy constructor is called when you call:
obj_x = someClassA(obj_a); // here, obj_a is given to the (copy-)constructor of someClassA.
What you have is an assignment like @eerorika said.
You can specify a custom assignment operator operator= and handle the action yourself.
More info about references/aliases and how they differ from pointers:
3 Comments
No, that is an assignment expression. Copy assignment operator will be called. Assuming obj_b.someClassA is of type someClassA. 
Obj B = Awith A an existing Obj var.