| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1098 人关注过本帖
标题:为什么两个输出不一样啊!!
取消只看楼主 加入收藏
shenyulv
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:166
专家分:150
注 册:2009-3-8
结帖率:96.43%
收藏
 问题点数:0 回复次数:3 
为什么两个输出不一样啊!!
#include "iostream"
using namespace std;
class Myclass
{
public:
    int number;
    void set(int i);
};
int number=30;
void Myclass::set(int i)
{
    number=i;
}
void main()
{
    Myclass my1;
    int number=20;
    my1.set(25);
    cout<<my1.number<<endl;  //输出25
    my1.set(::number);  //有这种函数表示法啊
    cout<<my1.number;  //输出30?
}
搜索更多相关主题的帖子: 输出 
2009-12-20 13:26
shenyulv
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:166
专家分:150
注 册:2009-3-8
收藏
得分:0 
谢谢咯

叶的离去,是风的过错,还是树的不挽留?
2009-12-20 14:10
shenyulv
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:166
专家分:150
注 册:2009-3-8
收藏
得分:0 
以下是引用英英在2009-12-20 14:28:59的发言:

my1.set(25)传入的参数是25,而my1.set(::number)传入的是::number,也就是全局变量,而它的赋值是通过int number=30实现的,也就是说此时实际传入的是30
那么在主函数中 有定义了
int number=20 就没用了吗?

叶的离去,是风的过错,还是树的不挽留?
2009-12-20 14:32
shenyulv
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:166
专家分:150
注 册:2009-3-8
收藏
得分:0 
以下是引用无水之冰在2009-12-20 22:39:58的发言:

没用,因为它是一个局部变量。如果在int number=20;的下面有my1.set(number);的话则用到了,就有意义了。
恩,理解了,谢谢咯

叶的离去,是风的过错,还是树的不挽留?
2009-12-21 13:14
快速回复:为什么两个输出不一样啊!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024098 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved