如何使用公共函数访问私有变量?

Jim*_*Jam 4 c++ methods private function public

所以我不知道你们有没有/曾经去过NewBoston.Com(顺便说一句,这是一个很好的资源),但是我正在观看这个视频,老师说你如何使用公共功能访问私人信息. .

这是视频:http: //www.youtube.com/watch?v = jTS7JTud1qQ

当然,只需跳到最后就可以了解它的要点.

我不知道的是,如何使用公共功能访问私人信息.如果你创建一个公共的功能,允许任何人设置名称,并获得该名称,那么它不仅仅是公共的吗?,任何人都不能弄乱我的代码和我想要的输出?

SJu*_*n76 8

提供更改私有变量的公共方法的关键是您可以添加其他控件.

两者之间没有太大的区别

class A {
   public:
      int age;
}
Run Code Online (Sandbox Code Playgroud)

class B {
   private:
      int age;
   public:
      void setAge(int _age);
}

B::setAge(int _age) {
   this->age = _age;
}
Run Code Online (Sandbox Code Playgroud)

但是,在第二种情况下,您可以添加拒绝某些数据的逻辑(vg为负值)或更新其他字段.因此,您可以确保对象的数据保持一致.如果您遵循第一种方法,那么每次直接访问该属性时都应该复制该逻辑(注意:许多程序员将忘记这样做).