Thắc mắc về constructor trong C++

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 ạ?


image

Foo1 truyền tham trị nên phải copy đối tượng vào.

2 Likes

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*)

3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?