这个简单的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 展开
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 展开
1个回答
展开全部
完整的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;
}
追问
回答得非常好,现在我想问一下你是怎么把代码用这种方式显示出来的,还带颜色,请教
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询