21xrx.com
2025-03-25 23:30:29 Tuesday
文章检索 我的文章 写文章
C++输入输出流的操作符重载
2023-07-05 05:20:58 深夜i     11     0
C++ 输入流 输出流 操作符重载

C++语言是一种面向对象的编程语言,重载运算符是实现面向对象编程的重要手段之一。C++提供了输入输出流的操作符重载,能够方便地将一个类的数据结构输出到屏幕或文件,或从键盘或文件中读取数据。

在C++中,输入输出流的操作符重载是通过友元函数来实现的。具体实现方式是在类外定义一个友元函数,函数名为"operator>>"或"operator<<",并将其声明为友元。友元函数可以访问该类的私有成员,从而实现输入输出操作。

下面是一个示例:

class Date {
private:
  int year, month, day;
public:
  friend ostream& operator<<(ostream& os, const Date& d);
  friend istream& operator>>(istream& is, Date& d);
};
ostream& operator<<(ostream& os, const Date& d)
  os << d.year << "-" << d.month << "-" << d.day;
  return os;
istream& operator>>(istream& is, Date& d)
  is >> d.year >> d.month >> d.day;
  return is;

上面的代码定义了一个Date类,并重载了输出流和输入流的操作符。这样,就可以通过下面的代码将Date类的对象输出到屏幕上:

Date d(2022, 12, 31);
cout << d << endl;

也可以通过下面的代码从键盘上读入数据来初始化一个Date类的对象:

Date d;
cin >> d;

通过输入输出流的操作符重载,可以方便地对自定义的类进行数据的输入输出,从而更好地实现面向对象编程的思想。

  
  

评论区