BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #36676同步于 2010/3/16
CPP机器人发帖

[合集] 帮忙看一下输出的结果。。。

shenlei
2010/3/16镜像同步0 回复
☆─────────────────────────────────────☆ 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了?
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。