Mọi người giải thích họ em cơ chế constructor trong C++ với ạ
Sao đoạn code này lại ra kết quả này ạ? Tại sao khi truyền vào hàm foo1 lại gọi constructor ạ?

Mọi người giải thích họ em cơ chế constructor trong C++ với ạ
Sao đoạn code này lại ra kết quả này ạ? Tại sao khi truyền vào hàm foo1 lại gọi constructor ạ?
Vì Foo1
truyền tham trị nên phải copy đối tượng vào.
cho em hỏi tại sao nó lại gọi hàm in ra printf(“here1”) mà không gọi hàm constructor ABC().
Lúc debug thì em thấy sau lệnh return a ở Foo2 thì nó gọi constructor thứ 3 in ra here2 ạ
Tham số hình thức là ABC
Đối số là ABC*
Vậy để gọi hàm Foo1
thì cần gọi hàm dựng ABC(ABC*)