如以下程序,顺便想了解一下public和private的区别:
#include <iostream>
using std::cout;
class Human
{
public:
int weight;
private:
int height;
};
int main()
{
Human Tom;
std::cout<<Tom.weight;
std::cout<<Tom.height;
}
运行结果及报错内容

我想的是pubilic是公有的,private是私有的,当我将“std::cout<<Tom.height;”这句语句注释掉,结果却是16,这是怎么回事呀?我主要的问题是因为未赋值吗?

想请博友们帮忙解释一下具体原因?以及这两个关键字的通俗作用?