c++中类和函数出现的问题

在class类中,在私有权限中设置了一个变量,但是没有给他赋值,但是在main函数中为什么可以把它提取出来呀,不是应该报错吗?

img

img

类的私有变量和局部变量,定义的时候不会自动初始化
而全局变量和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;
}

img