这个简单的C++程序为什么是这个输出结果?

#include<iostream>usingnamespacestd;classMyClass{public:intnumber;voidset(inti);};int... #include<iostream>
using namespace std;
class MyClass {
public:
int number;
void set(int i);
};
int number=3; //--------------------公有数据成员可以赋初值的吗? ①
void MyClass::set (int i){
number=i;
}
void main( ){
MyClass my1;
int number=10; //------------------------这个又是什么意思?和①处的相同吗?
my1.set(5); //------------main()函数里面的 number 和 类里面的number同吗
cout<<my1.number<<",";
my1.set(number); //---------------这是为什么把10传进去?
cout<<my1.number<<",";
my1.set(::number); //这里的 ::number 是什么意思?为什么把3传进去?
cout<<my1.number<<endl;
}
输出结果:5,10,3
展开
 我来答
老冯文库
2017-06-25 · 知道合伙人软件行家
老冯文库
知道合伙人软件行家
采纳数:1139 获赞数:8734

向TA提问 私信TA
展开全部

完整的C++语言程序:

#include<iostream>

using namespace std;

class MyClass {
public:
int number;
void set(int i);
};

int number=3; //number是一个全局变量,与MyClass类中的number没有任何关系

void MyClass::set (int i){
number = i;
}

void main( ){
MyClass my1;
int number=10; //给局部变量number赋值

my1.set(5); //给MyClass类对象my1的number成员赋值为5
cout<<my1.number<<",";

my1.set(number); //将局部变量number的值10赋给MyClass类对象my1的number成员
cout<<my1.number<<",";

my1.set(::number); //将全局变量number的值3赋给MyClass类对象my1的number成员,::number表示全局变量
cout<<my1.number<<endl;
}
追问
回答得非常好,现在我想问一下你是怎么把代码用这种方式显示出来的,还带颜色,请教
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式