21xrx.com
2024-11-05 20:37:09 Tuesday
登录
文章检索 我的文章 写文章
C++输出流的重载
2023-07-14 20:45:19 深夜i     --     --
C++ 输出流 重载

C++是一种面向对象的编程语言,其支持对操作符进行重载。对于输出流操作符"<<",我们可以使用重载的方式来将自定义的类型输出到屏幕上。

在C++中,输出流由ostream类实现,而cout则是ostream类的一个实例。当我们在程序中使用cout输出数据的时候,我们实际上是在使用ostream类重载了"<<"操作符。比如:


int num = 10;

cout << "The number is: " << num << endl;

这里,我们使用了"<<"操作符,它将字符串"The number is: "和变量num输出到屏幕上。

我们也可以自定义数据类型,并通过重载"<<"操作符来输出该数据类型。比如,我们想要输出一个复数类型,可以这样定义:


class Complex {

public:

  Complex(double r = 0.0, double i = 0.0): real(r), imag(i){}

  friend ostream& operator<< (ostream& os, const Complex& c);

private:

  double real;

  double imag;

};

ostream& operator<< (ostream& os, const Complex& c) {

  os << "(" << c.real << "," << c.imag << "i)";

  return os;

}

这段代码中,我们定义了一个名为Complex的类,该类包含了一对实数,分别表示复数的实部和虚部。我们通过重载"<<"操作符,将Complex类型输出为"(real,imagi)"的形式。

使用重载后的操作符输出复数类型可以像这样:


Complex c(2.0, 3.0);

cout << "The complex number is: " << c << endl;

我们可以看到,通过重载输出流的操作符"<<",我们可以方便地将自定义数据类型输出到屏幕上。

总之,C++中的输出流可以通过重载"<<"操作符来输出自定义数据类型。这种方式极大地方便了我们在程序中输出各种数据类型,也提升了程序的可读性和可维护性。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复