class student
 {
  private :
     int rollno;
     char name[20];
  public:
     void change_stud()
     { cout<<"enter new roll no:";
       cin>>rollno;
       cout<<" new name ";
       cin.getline(name,20);
     }
    void show_student()
      { cout<<rollno<<"  "<<name;}
 }


现在,请解释当我们从任何外部函数示例roolno中看到或更改namemain()类的隐藏成员时,

int main()
{
  student s1;
  s1.change_stud();
  s1.show_student();
}


类中数据隐藏和抽象的基本含义是什么?即使实际上我们可以访问班级的私有成员。

最佳答案

请检查-http://www.parashift.com/c++-faq/encap-is-for-code-not-people.html

我认为您误解了隐藏或封装的含义。
这是为了防止意外修改私有成员-您只能通过使用公共功能来做到这一点。它不是完全无法访问该成员。这也不是保护秘密的方法。

关于c++ - 数据实际上如何隐藏在类中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15613743/

10-17 01:37