C++笔记(3)类中与类外的运算符重载

本文介绍C++中重载>>运算符的方法,包括在类内部及外部进行重载的过程。展示了如何定义重载函数,并通过实例说明了正确使用方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

重载>>
 1None.gif#include <iostream>
 2None.gifusing namespace std;
 3None.gif
 4None.gif//类内重载
 5None.gifclass string_A
 6ExpandedBlockStart.gifContractedBlock.gifdot.gif{
 7InBlock.gif    public:
 8InBlock.gif        void operator >> (istream & input)
 9ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
10InBlock.gif            
11ExpandedSubBlockEnd.gif        }
;
12ExpandedBlockEnd.gif}
;
13None.gif
14None.gifvoid main()
15ExpandedBlockStart.gifContractedBlock.gifdot.gif{
16InBlock.gif    string_A string_a;
17InBlock.gif    //cin>>string_a;    //Fail!!
18InBlock.gif    string_a>>cin;
19ExpandedBlockEnd.gif}

20None.gif
21None.gif//类外重载
22None.gifclass string_B
23ExpandedBlockStart.gifContractedBlock.gifdot.gif{
24InBlock.gif    public:
25InBlock.gif        
26ExpandedBlockEnd.gif}
;
27None.gif
28None.gifvoid operator >> (istream & input, string_B &output)
29ExpandedBlockStart.gifContractedBlock.gifdot.gif{
30InBlock.gif        
31ExpandedBlockEnd.gif}
;
32None.gif
33None.gifvoid Test()
34ExpandedBlockStart.gifContractedBlock.gifdot.gif{
35InBlock.gif    string_B string_b;
36InBlock.gif    cin>>string_b;
37InBlock.gif    //string_b>>cin;    //Fail
38ExpandedBlockEnd.gif}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值