在class类中,在私有权限中设置了一个变量,但是没有给他赋值,但是在main函数中为什么可以把它提取出来呀,不是应该报错吗?
类的私有变量和局部变量,定义的时候不会自动初始化
而全局变量和public变量会自动初始化
即使不初始化,它依然被分配了内存,内存里是不知道什么程序执行之后遗留的数据,所以会是个随机数
因为类中定义了获取它的值的public函数getx(),是可以通过它来访问类的私有成员变量m_x的。
测试代码如下:
参考链接:
#include <iostream>
using namespace std;
class circle{
private :
double m_x;
public :
void setx(double x){
m_x = x;
}
double getx(){
return m_x;
}
};
int main(void){
circle c;
c.setx(15);
cout<<c.getx()<<endl;
system("pause");
return 0;
}