.Nối các toán tử chèn dịng và trích dịng

Một phần của tài liệu Giáo án - Bài giảng: TÀI LIỆU C++ (Trang 146 - 148)

Các tốn tử đã đa năng hóa << và >> có thể được theo dạng nối vào nhau. Ví dụ 8.5: Nối các tốn tử đã đa năng hóa

1: //Chương trình 8.5: Nối tốn tử << đã đa năng hóa. 2: #include <iostream.h>

3:

4: int main() 5: {

Giáo trình mơn Lập trình hướng đối tượng Trang 147 6: cout<<"47 plus 53 is "<< (47+53)<<endl;

7: return 0; 8: }

Chúng ta chạy ví dụ 8.5, kết quả ở hình 8.7

Hình 8.7: Kết quả của ví dụ 8.5 Nhiều chèn dịng ở dịng 6 trong ví dụ 8.5 được thực thi nếu có thể viết:

(((cout<<"47 plus 53 is ")<< (47+53))<<endl);

nghĩa là << liên kết từ trái qua phải. Loại liên kết của các tốn tử chèn dịng được phép bởi vì tốn tử đa năng hóa << trả về một tham chiếu tới đối tượng tốn hạng bên trái của nó, nghĩa là cout. Vì thế biểu thức

đặt trong ngoặc bên cực trái:

(cout<<"47 plus 53 is ")

xuất ra một chuỗi đã chỉ định và trả về một tham chiếu tới cout. Điều này cho phép biểu thức đặt trong ngoặc ở giữa được ước lượng:

(cout<< (47+53))

xuất giá trị nguyên 100 và trả về một tham chiếu tới cout. Sau đó biểu thức đặt trong ngoặc bên cực phải

được ước lượng:

cout<<endl;

xuất một newline, flush cout và trả về một tham chiếu tới cout. Trả về cuối cùng này không được sử

dụng.

8.3.3 Xuất các biến kiểu char *:

Trong nhập/xuất kiểu C, thật cần thiết cho lập trình viên để cung cấp thơng tin kiểu. C++ xác định các kiểu dữ liệu một cách tự động – một cải tiến hay hơn C. Đôi khi điều này là một trở ngại. Chẳng hạn, chúng ta biết rằng một chuỗi ký tự là kiểu char *. Mục đích của chúng ta in giá trị của con trỏ đó, nghĩa là địa chỉ bộ nhớ của ký tự đầu tiên của chuỗi đó. Nhưng tốn tử << đã được đa năng hóa để in dữ liệu của kiểu char * như là chuỗi kết thúc ký tự null. Giải pháp là ép con trỏ thành kiểu void *.

Ví dụ 8.6: In địa chỉ lưu trong một biến kiểu char * Chúng ta chạy ví dụ 8.6, kết quả ở hình 8.8

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

III.3. Xuất ký tự với hàm thành viên put(); Nối với nhau hàm put()

Hàm thành viên put() của lớp ostream xuất một ký tự có dạng :

ostream& put(char ch);

Chẳng hạn:

cout.put(‘A’);

148

cout.put(‘A’).put(‘\n’);

Hàm put() cũng có thể gọi với một biểu thức có giá trị là mã ASCII như: cout.put(65);

Một phần của tài liệu Giáo án - Bài giảng: TÀI LIỆU C++ (Trang 146 - 148)