c++成员声明中的非法限定名_C++类成员的三种访问权限:public/protected/private

b315a43eb6cf3f11a9fd5553fe64aeec.png

1、访问限定符

C++ 通过 public、protected、private 三个关键字来控制成员变量和成员函数的访问权限(也称为可见性),分别表示:公有的、受保护的、私有的。

class Base {public:    // 公有成员protected:    // 受保护成员private:    // 私有成员}

2、访问权限

所谓访问权限,就是能不能使用该类中的成员。一般地,

  • 在类的内部,无论成员被声明为哪种,都是可以互相访问的;
  • 但在类的外部,如通过类的对象,则只能访问 public 属性的成员,不能访问protected、private属性的成员。

对象(object)是类(class)的一个实例(instance)。

具体如下:

  • public:可以被该类中的函数、子类的函数、友元函数访问,也可以由该类的对象访问;
  • protected:可以被该类中的函数、子类的函数、友元函数访问,但不可以由该类的对象访问;
  • private:可以被该类中的函数、友元函数访问,但不可以由子类的函数、该类的对象、访问。

private 关键字的作用在于更好地隐藏类的内部实现。

5a3487efd20ed7a90ad8dc72f4348f3c.png

根据C++的软件设计规范,在实际项目开发中,类的成员变量以及只在类内部使用的成员函数,都建议声明为 private,而将允许通过对象调用的成员函数声明的 public。

成员变量声明为private,如何给它们赋值,以及获取它们的值呢?

通常需要添加两个public属性的成员函数,一个用来设置成员变量的值,一个用来读取成员变量的值。

class Student {private:    char *m_name;    int m_age;public:    // 设置成员变量的值    void SetName(char *name);    void SetAge(int age);public:    // 读取成员变量的值    char* GetName()    int GetAge()}

3、注意事项

  • 如果声明不写 public、protected、private,则默认为 private;
  • 声明public、protected、private的顺序可以任意;
  • 在一个类中,public、protected、private 可以出现多次,每个限定符的有效范围到出现另一个限定符或类结束为止。但为了使程序清晰,应该使每种限定符只出现一次。
305e86ff1d8f7f80d7d5b00c0cd3b0b2.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值