返回信息流☆─────────────────────────────────────☆
huge (北邮虎哥) 于 (Mon Mar 15 09:14:56 2010) 提到:
#include<iostream>
#include<string>
#include<vector>
using namespace std;
class B
{private:
int data;
public:
st()
{cout<<data<<endl;}
B() :data(0)
{data=9;
cout<<data<<endl;
cout<<"dafault constructor"<<endl;
}
~B()
{cout<<"destructed"<<endl;
}
B(int i):data(i)
{cout<<"constructed by parameter"<<data<<endl;}
};
B Play(B b)
{cout<<b.st<<endl;
return b;}
int main(int argc,char* argv[])
{Play(8);
B t;
cout<<t.st<<endl;
//cout<<temp.seedata<<endl;
//cout<<Play.seedata<<endl;
return 0;
}
☆─────────────────────────────────────☆
huge (北邮虎哥) 于 (Mon Mar 15 09:16:22 2010) 提到:
为什么data的值不是8是1呢?
☆─────────────────────────────────────☆
jmpesp (民国沉思者|邓丽君) 于 (Mon Mar 15 09:26:14 2010) 提到:
代码太乱 看不懂你写啥 眼花。。。
☆─────────────────────────────────────☆
huge (北邮虎哥) 于 (Mon Mar 15 09:37:01 2010) 提到:
【 在 jmpesp 的大作中提到: 】
: 代码太乱 看不懂你写啥 眼花。。。
两个构造函数,一个析构函数,st函数是用来调用私有成员data的
☆─────────────────────────────────────☆
ericyosho (ericyosho) 于 (Mon Mar 15 09:54:13 2010) 提到:
这代码写的,就不可能编译通过。
那么多错@@
☆─────────────────────────────────────☆
huge (北邮虎哥) 于 (Mon Mar 15 09:59:59 2010) 提到:
必须能通过啊,我调试过的,我调试结果都出来了,只是结果里面有两个1不知道怎么回事,感觉应该是一个8一个9啊
【 在 ericyosho 的大作中提到: 】
: 这代码写的,就不可能编译通过。
: 那么多错@@
☆─────────────────────────────────────☆
ericyosho (ericyosho) 于 (Mon Mar 15 10:33:30 2010) 提到:
还不信,
我原封不动地都没改,就是编译不过。
你st()连个返回值都没有,竟然还能过?
你的编译器太牛B了。
☆─────────────────────────────────────☆
xiapi (蝈蝈) 于 (Mon Mar 15 11:36:21 2010) 提到:
huge,编译器、运行结果的贴上,我真的很好奇!难道是你自己写的编译器,这都能通过!
☆─────────────────────────────────────☆
Geraint (风在山路吹) 于 (Mon Mar 15 14:34:30 2010) 提到:
果然虎~
☆─────────────────────────────────────☆
qiqilinux (GBoy) 于 (Mon Mar 15 19:29:08 2010) 提到:
B Play(B b)
{cout<<b.st<<endl;
return b;}
函数里改为:
{b.st();return b;}
☆─────────────────────────────────────☆
qiqilinux (GBoy) 于 (Mon Mar 15 19:31:53 2010) 提到:
cout<<t.st<<endl;
这句也得改
☆─────────────────────────────────────☆
vivienluke (MiaoMiao) 于 (Mon Mar 15 19:33:57 2010) 提到:
#include<iostream>
#include<string>
#include<vector>
using namespace std;
class B
{
private:
int data;
public:
int st()
{
return data;
}
B() :data(0)
{
data=9;
cout<<data<<endl;
cout<<"dafault constructor"<<endl;
}
~B()
{
cout<<"destructed data = "<<data<<endl;
}
B(int i):data(i)
{
cout<<"constructed by parameter data = "<<data<<endl;
}
B(const B& );
};
B::B(const B& b)
{
data = b.data;
cout<<"construct by copy construct data = "<<data<<endl;
}
B Play(B b)
{
cout<<"play "<<b.st()<<endl;
return b;
}
int main(int argc,char* argv[])
{
Play(8);
B t;
cout<<t.st()<<endl;
return 0;
}
是这个意思吗?
☆─────────────────────────────────────☆
vivienluke (MiaoMiao) 于 (Mon Mar 15 19:34:42 2010) 提到:
输出结果
constructed by parameter data = 8
play 8
construct by copy construct data = 8
destructed data = 8
destructed data = 8
9
dafault constructor
9
☆─────────────────────────────────────☆
magicbupt (magicbupt) 于 (Mon Mar 15 19:59:29 2010) 提到:
编译没通过啊........
☆─────────────────────────────────────☆
huge (北邮虎哥) 于 (Mon Mar 15 21:02:41 2010) 提到:
谢谢。。。。呵呵,非常感谢啊。。
【 在 qiqilinux 的大作中提到: 】
: B Play(B b)
: {cout<<b.st<<endl;
: return b;}
: ...................
☆─────────────────────────────────────☆
a206206 (每天都被人超级鄙视的寂寞帝和悲剧帝) 于 (Mon Mar 15 21:10:30 2010) 提到:
......
☆─────────────────────────────────────☆
xiluo (夕夕) 于 (Mon Mar 15 22:50:00 2010) 提到:
【 在 ericyosho 的大作中提到: 】
: 还不信,
: 我原封不动地都没改,就是编译不过。
: 你st()连个返回值都没有,竟然还能过?
: ...................
我也编译通过了,确实不好解释,默认成void了?
这是一条镜像帖。来源:北邮人论坛 / cpp / #36676同步于 2010/3/16
CPP机器人发帖
[合集] 帮忙看一下输出的结果。。。
shenlei
2010/3/16镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。