Tiếp tục làm quen ngôn ngữ C++ với bài hiển thị thời gian, bạn nào chưa xem có thể nhấp vào đây. Còn ai đã biết cách tạo project, tạo class và xem phần 1 rồi thì hãy tiếp tục với mình nha.
Trước tiên chúng ta phải gọi tên phương thức để truy cập vào vào giờ, phút, giây. Hiện tại chúng ta chỉ thao tác với con số đơn giản nên để là kiểu int, nếu sau này dùng để tính toán thì để kiểu float hoặc double.
Sau khi khai báo bên Time.h, bên Time.cpp chúng ta tạo hàm lần lượt với getHour, getMinute, getSecond với kiểu int và trả nó về giá trị tương ứng như, return hour, minute, second.
Khi viết get xong thì các bạn đừng quên viết set cho các biến nha. Set cho phép bạn sửa đổi dữ liệu, với một phần đây là chuẩn code rồi, dù bạn qua C# thì get và set cũng đi đôi với nhau.
Tương ứng, bạn viết set cho hour, minute, second. Ở đây sử dụng con trỏ this để gán giá trị cho biến hour, minute, second. Lưu ý: this-> chỉ được sử dụng bên trong class.
Với set và get ta có ghi dữ liệu từ bên ngoài, đây là lý do tại sao mình lại để nó với chế độ public. Bên cạnh đó, nó còn giúp ta nhận giá trị clone chứ không muốn thao tác trực tiếp lên object gốc.
Sau khi đã lấy thời gian và đặt thời gian, chúng ta sẽ viết hàm hiển thị thời gian đã nhập. Bên Time.h, vì không trả về giá trị nào nên chúng ta sẽ để kiểu void.
Bên Time.cpp, dưới đây sẽ lấy giá trị được gán (vừa nhập) để xuất ra ngoài màn hình.
Nãy giờ chúng ta chỉ thực hiện tạo biến, hàm, vậy class này sẽ là nơi quản lý những hoạt động đó.
Dưới đây mình sẽ hướng dẫn sơ cách tạo class không kèm file .h. Click phải ngay chỗ Source File, chọn Add và chọn New Item.
Để tạo class nhanh hơn, bạn có thể phím tắt Ctrl+Shift+A.
Ngay sau đó màn hình sẽ hiển thị khung Add new item như thế này, đầu tiên bạn cần phải chọn đúng file C++ file(.cpp), và đặt tên cho file. Sau đó chọn Add để tạo class mới.
Ứng dụng sẽ tạo class mới, và class trống rỗng, chúng ta cần khai báo thư viện <iostream> cho class mới, và đồng thời phải khai báo cả “Time.h” để có thể sử dụng biến cũng như hàm bên file Header.
Để test thử, chúng ta phải khai báo một đối tượng, từ đối tượng đó xuất ra kết quả. Để sử dụng từ class khác thì dùng dấu ” . “.
Vì mình muốn xuất ra kết quả để xem nên sẽ chọn hàm print().
Các bạn có biết vì sao ở đây là xuất ra là 0:0:0 không? Vì ở bên Time.cpp, chúng ta đã khởi tạo có tham số cho các giá trị là 0.
Nếu muốn thay đổi giá trị thì chúng ta truyền tham số mới vào cho nó.
Còn có cách khác để truyền tham số nữa, đó chính là hàm set chúng ta vừa mới viết ở trên.
Với những tham số đơn giản ta có thể dùng cách truyền trực tiếp vào đối tượng, nhưng nếu gặp những tham số phức tạp thì hãy dùng hàm set để test nha, vừa gọn vừa tránh rối mắt, nhìn vào là hiểu.
Cảm ơn mọi người đã theo dõi đến bài viết này, hi vọng sẽ giúp ích cho mọi người.
Huyền Nguyễn
PLT SOLUTIONS