Chinaunix首页 | 论坛 | 博客
  • 博客访问: 433010
  • 博文数量: 138
  • 博客积分: 4114
  • 博客等级: 上校
  • 技术积分: 1341
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-14 20:41
文章分类

全部博文(138)

文章存档

2014年(1)

2013年(2)

2012年(78)

2011年(13)

2010年(34)

2009年(10)

我的朋友

分类: C/C++

2010-02-07 22:00:53

关与c++的类内数据类型访问控制
public:
    这个没的说, 谁都可以访问, 无论是类内还是类外。
private:
    这个只能进行类内访问, 要想类外访问只能走曲线了, 就是设置一个接口,比如

class animal_c
{
    public:
        void setname(string & name)
       {
          this->name = name;
        }
        void setage( int age)
        {
           this->age = age;
         }
     private:
       string name;
       int age;
};

  这个以意思应该明白了吧
protected;这个有点特别,如果是该类的派生类, 则在该派生类中可以访问基类的protected数据成员, 不过必须是类内访问,不能是类外访问。那是只有public才能办到的事。

这几个概念老是记混, 但是后来想想, 既然是我的东西, 我就可以指定谁可以动, 谁不能动, 可以动哪里, 不可以动哪里, 这和这个关键字起的作用是一样的, 如, 我的这个类的某个成员声明成 public:就是说,大家如果需要的话,可以访问这里,不管是类内(成员函数)的还是类外(通过对象,或指针)的都可以访问。
private:就是说, 这个除了我之外, 谁都不能动, 而且我也是只能类内动, 不能类外动。但是对友元特殊。
protected: 没有private那么严格, 就是说,如果是我这个派系的, 你就可以动, 如果不和我一班, 那么对不起, 你也无权访问。
阅读(601) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~