5.5.7 Đối tượng bên trong đối tượng (1)

Một đối tượng của bất kỳ lớp nào có thể là biến thành viên của một đối tượng của lớp khác. Chúng tôi đã chuẩn bị một ví dụ đơn giản để minh họa vấn đề này →

Có một lớp rất đơn giản tên là Element. Nó được sinh ra để lưu trữ một giá trị int. Lớp thứ hai được hiển thị trong ví dụ cũng đơn giản, nhưng có một điều thú vị về nó: nó có hai trường dữ liệu có kiểu là lớp Element.

Như bạn thấy, chúng ta có sử dụng chúng mà không gặp khó khăn gì. Chúng hoạt động giống như các thành phần khác lớp.

Chương trình trên sẽ in ra màn hình như sau:

Element #2 = 2

Element #3 = 3

Có một vấn đề cần một lời giải thích chi tiết hơn, đó là: các hàm khởi tạo (constructor)  hoặt động như thế nào ?

Có ba đối tượng trong ví dụ của chúng ta: coll (nằm trong phạm vi hàm main) và el1 cùng với el2 (trong phạm vi của đối tượng coll). Chúng ta muốn biết trình tự mà tất cả các constructor làm việc. Muốn thế chúng ta phải sửa đổi ví dụ của chúng ta một chút.