C++,重载输出操作符<lt;cout.operator是什么东东
1个回答
展开全部
y=36,是c.print()输出的结果,看看c中的数据是怎么变的。
1.构造函数,在定义c的时候会调用构造函数A(int x=2,int y=3),因为c并没有传递任何参数,所以默认的参数为x=2,y=3。这样初始化后 A::y = ::y+y就等于35,其中::y是全局变量值为32,另外默认参数y为3。
2.c++这一句,A类重载了++操作符,也就是执行c++这一句时调用了A operator ++(int)这个函数。看见函数里面有一个y++没有?y++导致y增加1,之前为35,现在就是36。
所以打印出来就是36
1.构造函数,在定义c的时候会调用构造函数A(int x=2,int y=3),因为c并没有传递任何参数,所以默认的参数为x=2,y=3。这样初始化后 A::y = ::y+y就等于35,其中::y是全局变量值为32,另外默认参数y为3。
2.c++这一句,A类重载了++操作符,也就是执行c++这一句时调用了A operator ++(int)这个函数。看见函数里面有一个y++没有?y++导致y增加1,之前为35,现在就是36。
所以打印出来就是36
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询