gpt4 book ai didi

c++ - 重载插入器和奇怪的输出(对于 '20' 和 '020')

转载 作者:可可西里 更新时间:2023-11-01 18:05:34 25 4
gpt4 key购买 nike

<分区>

我正在学习在一个非常简单的程序中重载“<<”,&在我的学习过程中,我发现我的程序有以下令人惊讶的输出。

#include<iostream>
#include<conio.h>
#include<string>

using namespace std;

class student
{

int age;

public:
student(){}
student(int a){age=a;}

friend ostream &operator<<(ostream &stream,student o);
};

/*operator overloaded in this block*/
ostream &operator<<(ostream &stream,student o)
{
stream<<o.age;
return stream;
}

int main()
{
student ob1(20),ob2(020);
cout<<ob1; /*will yield 20(as desired)*/
cout<<"\n"<<ob2; /*yielding 16(why so)*/
_getch();
return 0;
}

请解释一下

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com