<< Chapter < Page Chapter >> Page >

Phần lớn chương trình C++ thường include tập tin header<iostream.h>mà chứa các thông tin cơ bản đòi hỏi tất cả các thao tác dòng nhập/xuất. Tập tin header<iostream.h>chứa các đối tượng cin, cout, cerr và clog mà tương ứng với dòng nhập chuẩn, dòng xuất chuẩn, dòng lỗi chuẩn không vùng đệm và dòng lỗi chuẩn vùng đệm. Cả hai khả năng nhập/xuất định dạng và không định dạng được cung cấp.

Header<iomanip.h>chứa thông tin hữu ích cho việc thực hiện nhập/xuất định dạng với tên gọi là các bộ xử lý dòng biểu hiện bằng tham số (parameterized stream manipulators).

Header<fstream.h>chứa các thông tin quan trọng cho các thao tác xử lý file do người dùng kiểm soát.

Header<strstream.h>chứa các thông tin quan trọng cho việc thực hiện các định dạng trong bộ nhớ. Điều này tương tự xử lý file, nhưng các thao tác nhập/xuất tới và từ mảng các ký tự hơn là file.

Header<stdiostream.h>chứa các thông tin quan trọng cho các chương trình trộn các kiểu nhập/xuất của C và C++. Các chương trình mới phải tránh kiểu nhập/xuất C, nhưng cần thì hiệu chỉnh các chương trình C, hoặc tiến triển chương trình C thành C++.

Các lớp và các đối tượng của dòng nhập/xuất

Thư viện iostream chứa nhiều lớp để xử lý một sự đa dạng rộng của các thao tác nhập/xuất. Lớp istream hỗ trợ các thao tác dòng nhập. Lớp ostream hỗ trợ các thao tác dòng xuất. Lớp iostream hỗ trợ cả hai thao tác dòng nhập và dòng xuất. Lớp istream và lớp ostream đều kế thừa đơn từ lớp cơ sở ios. Lớp iostream được kế thừa thông qua đa kế thừa từ hai lớp istream và ostream.

Hình 8.1: Một phần của phân cấp lớp dòng nhập/xuất

Đa năng hóa toán tử cung cấp một ký hiệu thích hợp cho việc thực hiện nhập/xuất. Toán tử dịch chuyển trái (<<) được đa năng hóa để định rõ dòng xuất và được tham chiếu như là toán tử chèn dòng. Toán tử dịch chuyển phải (>>) được đa năng hóa để định rõ dòng nhập và được tham chiếu như là toán tử trích dòng. Các toán tử này được sử dụng với các đối tượng dòng chuẩn cin, cout, cerr và clog, và bình thường với các đối tượng dòng do người dùng định nghĩa.

cin là một đối tượng của lớp istream và được nói là "bị ràng buộc tới" (hoặc kết nối tới) thiết bị nhập chuẩn, thông thường là bàn phím. Toán tử trích dòng được sử dụng ở lệnh sau tạo ra một giá trị cho biến nguyên X được nhập từ cin tới bộ nhớ:

int X;

cin>>X;

cout là một đối tượng của lớp ostream và được nói là "bị ràng buộc tới" thiết bị xuất chuẩn, thông thường là màn hình. Toán tử chèn dòng được sử dụng ở lệnh sau tạo ra một giá trị cho biến nguyên X được xuất từ bộ nhớ tới thiết bị chuẩn:

cout<<X;

cerr là một đối tượng của lớp ostream và được nói là "bị ràng buộc tới" thiết bị lỗi chuẩn. Việc xuất đối tượng cerr là không vùng đệm. Điều này có nghĩa là mỗi lần chèn tới cerr tạo ra kết xuất của nó xuất hiện ngay tức thì; Điều này thích hợp cho việc thông báo nhanh chóng người dùng khi có sự cố.

clog là một đối tượng của lớp ostream và được nói là "bị ràng buộc tới" thiết bị lỗi chuẩn. Việc xuất đối tượng cerr là có vùng đệm. Điều này có nghĩa là mỗi lần chèn tới cerr tạo ra kết xuất của nó được giữ trong vùng đệm cho đến khi vùng đệm đầy hoặc vùng đệm được flush.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Lập trình hướng đối tượng. OpenStax CNX. Jul 29, 2009 Download for free at http://cnx.org/content/col10794/1.1
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Lập trình hướng đối tượng' conversation and receive update notifications?

Ask