c++输入输出流运算符的重载测试代码

此博客主要围绕C++输出输入流运算符的重载测试展开,涉及相关代码内容,在信息技术领域中,对于C++编程学习和实践有一定参考价值。
#pragma once
#include<iostream>
using namespace std;
class Data
{
private:
	int year;
	int month;
	int day;
public:
	Data(int year=0,int month=0,int day=0) :year(year),month(month),day(day){}
	friend istream& operator>>(istream&,Data&);
	friend ostream& operator<<(ostream&, Data&);
};

 

#include "Data.h"
istream& operator>>(istream& in, Data& a) 
{
	in >> a.year >> a.month >> a.day;
	return in;
}
ostream& operator<<(ostream& out, Data& a) 
{
	out << a.year << '\t' << a.month << '\t' << a.day << endl;
	return out;
}
#include "Data.h"
int main()
{
	Data t[3];
	for (int i = 0; i < 3; i++)
		cin >> t[i];
	for (int i = 0; i < 3; i++)
		cout<< t[i];
	return 0;
}

 

输入输出流运算符重载C++中的一种特性,它允许我们自定义类对象在输入输出流中的行为。通过重载输入输出流运算符,我们可以实现自定义的对象输入输出格式。 在C++中,输入输出流运算符重载使用友元函数来实现。常用的输入输出流运算符包括插入运算符(<<)和提取运算符(>>)。 对于输出运算符(<<),我们可以通过重载运算符来定义对象在输出中的输出格式。例如,我们可以重载运算符来输出对象的成员变量值。 对于输入运算符(>>),我们可以通过重载运算符来定义对象在输入中的输入格式。例如,我们可以重载运算符来接收用户输入,并将输入的值赋给对象的成员变量。 下面是一个示例代码,演示了如何重载输入输出流运算符: ```cpp #include <iostream> class MyClass { private: int value; public: MyClass(int v) : value(v) {} // 重载插入运算符(<<) friend std::ostream& operator<<(std::ostream& os, const MyClass& obj) { os << "Value: " << obj.value; return os; } // 重载提取运算符(>>) friend std::istream& operator>>(std::istream& is, MyClass& obj) { is >> obj.value; return is; } }; int main() { MyClass obj(0); std::cout << "请输入一个整数: "; std::cin >> obj; std::cout << "输入的值为: " << obj << std::endl; return 0; } ``` 在上述示例中,我们定义了一个名为MyClass的类,其中包含一个私有成员变量value。通过重载插入运算符(<<)和提取运算符(>>),我们可以自定义MyClass对象在输入输出流中的行为。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值