标题: 重载流运算符 [打印本页]

作者: 51黑bing    时间: 2016-3-22 20:02
标题: 重载流运算符
本帖最后由 51黑bing 于 2016-3-22 20:03 编辑

#pragma once

#include "../inc/Matrix.h"
#include<iostream>

using namespace std;

class Matrix
{
public:
friend ostream& operator <<(ostream & out, Matrix& m);
friend istream& operator >>(istream & in, Matrix& m);
private:
int array[9];
};

-------------------------------------------------------------------

#include "../inc/Matrix.h"

---------------------------------------------------------------------------------------------------------
  1. #include <iostream>
  2. #include "../inc/Matrix.h"

  3. using namespace std;

  4. //定义全局函数,并且声明为Matrix的友元
  5. ostream& operator <<(ostream & out, Matrix& m)
  6. {
  7. cout << "数组的数据为:" << endl;
  8. int i = 0;
  9. for (; i < 3; i++)
  10. {
  11. out << m.array[i] << "  ";
  12. }
  13. cout << endl;
  14. for (i = 3; i < 6; i++)
  15. {
  16. out << m.array[i] << "  ";
  17. }
  18. cout << endl;
  19. for (i = 6; i < 9; i++)
  20. {
  21. out << m.array[i] << "  ";
  22. }
  23. cout << endl;
  24. return out;
  25. }
  26. istream& operator >>(istream & in, Matrix& m)
  27. {
  28. cout << "请输入数组的数据,每输入一个请按回车按键确认。" << endl;
  29. for (int i = 0; i < 9; i++)
  30. {
  31. in >> m.array[i];
  32. }
  33. return in;
  34. }

  35. int main()
  36. {
  37. Matrix m;
  38. cin >> m;
  39. cout << m;
  40. return 0;
  41. }
复制代码






---------------------------------------------------------------------------------------------------------
结果:









欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1