21xrx.com
2024-09-19 10:12:13 Thursday
登录
文章检索 我的文章 写文章
C++输入输出运算符重载
2023-07-04 18:19:28 深夜i     --     --
C++ 输入 输出 运算符重载 操作符重载

在C++中,我们可以对输入输出运算符进行重载。这意味着我们可以使用自定义的方式在程序中实现输入输出。这对于创建自定义数据类型和类非常有用,因为我们可以定义它们的输入输出方式。让我们看看如何实现输入输出运算符重载。

输入运算符重载

当我们使用流输入时,“>>”符号用于输入数据,而输入运算符(“>>”)用于将数据读取到程序中。我们可以将输入运算符重载为类成员函数或作为友元函数。以下是如何将其重载为类成员功能:


class MyClass

{

public:

  friend istream& operator>>(istream& input, MyClass& obj)

  

    input >> obj.data;

    return input;

  

private:

  int data;

};

在这个例子中,我们重载了输入运算符(“>>”),并将其定义为一个名为“MyClass”的类的友元函数。函数接受两个参数:一个输入流和一个MyClass对象的引用。我们使用输入流读取数据,并将其存储在MyClass对象中。最后,我们返回输入流。

输出运算符重载

当我们使用流输出时,“<<”符号用于输出数据,而输出运算符(“<<”)用于将数据输出到程序中。我们可以将输出运算符重载为类成员函数或作为友元函数。以下是如何将其重载为类成员函数:


class MyClass

{

public:

  friend ostream& operator<<(ostream& output, const MyClass& obj)

  

    output << obj.data;

    return output;

  

private:

  int data;

};

在这个例子中,我们重载了输出运算符(“<<”),并将其定义为一个名为“MyClass”的类的友元函数。函数接受两个参数:一个输出流和一个常量MyClass对象的引用。我们将MyClass对象的数据输出到输出流中,并返回输出流。

当我们创建MyClass对象时,我们可以使用重载的输入输出运算符来输入/输出数据。例如:


MyClass obj;

cin >> obj;

cout << obj;

在这个例子中,我们使用输入运算符将数据读取到MyClass对象中,并使用输出运算符将该数据输出到控制台。这是一个简单的示例,但它可以用于自定义数据类型和类的更复杂的输入输出。

  
  

评论区

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