Date D(14, 35, 94); //Các giá trị Date không hợp lệ

Một phần của tài liệu Dẫn nhập - tìm hiểu về hướng đối tượng C++ (Trang 35 - 36)

lệ

107: return 0;108: } 108: }

Chương trình gồm lớp Employee chứa các thành viên dữ liệu private LastName, FirstName,

BirthDateHireDate. Các thành viên BirthDateHireDate là các đối tượng của lớp Date mà chứa các thành viên dữ liệu private Month, Day Year. Chương trình khởi tạo một đối tượng

đầu trong định nghĩa constructor của lớp Employee:Employee::Employee(char *FName, char *LName, int BMonth, int BDay, int BYear, int HMonth, int HDay, int HYear) :BirthDate(BMonth, BDay, BYear), HireDate(HMonth, HDay, HYear)

Constructor lấy tám tham số (FName, LName, BMonth, BDay, BYear, HMonth, HDay, và HYear). Dấu hai chấm trong phần đầu phân tách các bộ khởi tạo từ danh sách các tham số. Các bộ khởi tạo định rõ các tham số truyền chon constructor của các đối tượng thành viên. Vì thế BMonth, BDay

BYear được truyền cho constructor của đối tượng BirthDate, và HMonth, HDay, và HYear được truyền cho constructor của đối tượng HireDate. Nhiều bộ khởi tạo được phân tách bởi dấu phẩy. Chúng ta chạy ví dụ 3.15, kết quả ở hình 3.16

Hình 3.16: Kết quả của ví dụ 3.15

Một đối tượng thành viên không cần được khởi tạo thông qua một bộ khởi tạo thành viên. Nếu một bộ khởi tạo thành viên không được cung cấp, constructor mặc định của đối tượng thành viên sẽ được gọi một cách tự động. Các giá trị nếu có thiết lập bởi constructor mặc định thì có thể được ghi đè bởi các hàm set.

3.15 CÁC HÀM VÀ CÁC LỚP FRIEND

Một hàm friend của một lớp được định nghĩa bên ngoài phạm vi của lớp đó, lúc này có quyền truy cập đến các thành viên private hoặc protected của một lớp. Một hàm hay toàn bộ lớp có thể được khai báo là một friend của lớp khác. Để khai báo một hàm là một friend của một lớp, đứng trước prototype của hàm trong định nghĩa lớp với từ khóa friend. như sau:

friend <function-declarator>;

Để khai báo một lớp là friend của lớp khác như sau:

friend <class-name>; Ví dụ 3.16: Chương trình sau minh họa khai báo và sử dụng hàm

friend. CT3_16.CPP 1: #include <iostream.h> 2: 3: class Count 4: {

5: friend void SetX(Count &, int); //Khai báo friend6: public: 6: public:

Một phần của tài liệu Dẫn nhập - tìm hiểu về hướng đối tượng C++ (Trang 35 - 36)