"C++ 中的iostream标准库介绍及运算符重载.pdf"

版权申诉
0 下载量 176 浏览量 更新于2024-02-22 收藏 677KB PDF 举报
中有以下变量定义及输出语句: ```c int a = 10; float b = 3.14; cout << "a = " << a << ", b = " << b << endl; ``` C++ 的 iostream 库提供了输入输出的基本操作符 << (左移运算符) 和 >> (右移运算符) 的重载,使得我们能够像上面的示例一样直接通过 cout 对象来输出变量的值。这些操作符的重载让我们可以将基本数据类型和自定义类型都能够方便地进行输入输出,而不需要像 C 语言一样使用格式化字符串。 除了基本类型之外,iostream 库还支持文件的输入输出操作。我们可以通过 ifstream 和 ofstream 类来实现文件的读写操作。例如,我们可以通过以下代码来读取一个文件的内容并输出到控制台上: ```c++ #include <fstream> #include <iostream> using namespace std; int main() { ifstream file("input.txt"); string content; while (getline(file, content)) { cout << content << endl; } file.close(); return 0; } ``` 这段代码中,我们首先通过 ifstream 类来打开一个名为 input.txt 的文件,并使用 getline 函数来逐行读取文件的内容并输出到控制台上。最后再通过 close 函数关闭文件。 除了基本的输入输出操作之外,iostream 库的设计者还提供了扩展的接口,让开发者可以对自定义类型进行输入输出操作的重载。通过重载 << 和 >> 运算符,我们能够让自定义类型像基本类型一样方便地进行输入输出。以下是一个简单的实例: ```c++ #include <iostream> using namespace std; class Point { public: int x; int y; friend ostream& operator<<(ostream& os, const Point& point) { os << "x: " << point.x << ", y: " << point.y; return os; } friend istream& operator>>(istream& is, Point& point) { is >> point.x >> point.y; return is; } }; int main() { Point p; cout << "Input x and y: "; cin >> p; cout << "The point is: " << p << endl; return 0; } ``` 在这个例子中,我们定义了一个 Point 类,并通过友元函数重载了 << 和 >> 运算符,使得我们可以通过 cin 直接对 Point 对象进行输入,并通过 cout 直接输出 Point 对象的值。 总之,C++ 的 iostream 标准库为我们提供了丰富的输入输出操作接口,不仅支持基本类型的输入输出,还支持文件的读写操作,并提供了扩展接口让我们能够轻松地对自定义类型进行输入输出的操作。这些功能的引入,使得我们在 C++ 编程中能够更加方便地进行输入输出操作。